第 17 章 オブジェクト指向の基礎_PHP チュートリアル
学習ポイント:
1. オブジェクト指向とは
2. OOP の主要な概念
4.
多くの言語は本質的にオブジェクト指向 (OOP) であり、PHP がそのような機能を導入するまでに数年かかりました。オブジェクト指向の誕生は、開発パラダイムにおける大きな変化であり、プログラミングの焦点はアプリケーションのロジックからデータに戻ります。言い換えれば、OOP は、プログラミングの手続き的なイベントから、最終的にモデル化される実際のエンティティに焦点を移します。これにより、アプリケーションが私たちの周囲の現実世界に近づきます。
1.オブジェクト指向とは何ですか
プロセス指向
これは、あなたが会社の従業員であるようなもので、今日、社内のコンピューターのバッチを組み立てるタスクを持っています。その後、購入、交渉、会社への輸送、組み立ての開始、ネットワークの配線、マシンのデバッグを開始し、完了します。つまり、プロセス指向
とは、詳細が明確な具体的な実装を意味します。オブジェクト指向
それは、あなたが会社の社長で、従業員にコンピューターのバッチを組み立てるタスクを割り当てるようなものです。完了。言い換えれば、オブジェクト指向は抽象的な実行であり、それは依然として従業員によって実行されます。細かいことは社長が考える必要はありません。この利点は、上級管理職がいる企業では業務を調整できることは明らかですが、上級管理職がいない企業では、特定の機能を実装する一部の従業員だけが混乱して働くことになります。
2. OOP
カプセル化
の特徴は、オブジェクトのプロパティと実装の詳細を隠し、インターフェースのみを外部に公開し、プログラム内のプロパティの読み取りと変更のアクセスレベルを制御します(または、抽象化されたデータと動作を結合します)。つまり、データを操作するためのソース コードとデータを有機的に組み合わせて、データと関数の両方がクラスのメンバーである「クラス」を形成します。
別のクラスを継承したクラスをそのクラスのサブクラスと呼びます。この関係はよく父と子にたとえられます。サブクラスは親クラスの特性を継承します。これらのプロパティは、プロパティとメソッドで構成されます。サブクラスは親クラスの機能を超えた新しい機能を追加できるため、サブクラスは親クラスの「拡張機能」とも呼ばれます。
ポリモーフィック
ポリモーフィズムとは、OOP がクラスが使用されるコンテキストに応じてクラスの性質や動作を再定義または変更できることを意味します。言い換えれば、インターフェイスの複数の異なる実装がポリモーフィズムです。異なるサブクラス オブジェクトを親クラスとして扱うことで、異なるサブクラスのオブジェクト間の差異を保護し、共通のコードを記述し、変化するニーズに適応する共通のプログラミングを作成できます。
3つ。 OOP の主要な概念
クラス (クラス)
クラスはオブジェクトの定義です。これには、名前、メソッド、プロパティ、イベントなど、オブジェクトの動作に関する情報が含まれています。メモリ内に存在しないため、実際にはオブジェクト自体ではありません。クラスを参照するコードが実行されると、クラスの新しいインスタンスであるオブジェクトがメモリ内に作成されます。クラスは 1 つだけですが、このクラスから同じ型の複数のオブジェクトをメモリ内に作成できます。
オブジェクトとは、物、実体、名詞、取得できるものであり、独自のアイデンティティを持つあらゆるものを想像できます。オブジェクトはクラスのインスタンス化です。生きているオブジェクトもあれば、生きていないオブジェクトもあります。
この車、この人、この家、このテーブル、この植物、このチェック、このレインコートのように。一言で言えば、すべてはオブジェクトです。例: クラスはオブジェクトの抽象的な定義です。端的に言えば、オブジェクトがコンピューターの場合、クラスは多数のコンピューターを生成できます。非常に多くのコンピュータを生成できるコンピュータ生産工場と見なされます。
フィールド (フィールド)
フィールドは、クラスの特定の側面を記述するために使用されますが、いくつかの微妙な違いがあるだけで、一般的な PHP 変数と非常によく似ています。
例: コンピューターのブランド、コンピューターのモデル、その他の特性。属性
は、メソッドを通じてフィールドにアクセスして操作する一方で、フィールドを保護することができますが、同時にパブリック フィールドと同様に データへのアクセスも許可します。 例: コンピューターのブランドを取得し、コンピューターのブランドやその他の操作を設定します。
メソッド
メソッドは、クラスの動作を定義するために使用されることを除いて、関数と非常によく似ています。関数と同様に、メソッドは入力パラメータを受け入れ、呼び出し元に値を返すことができます。
例: コンピューターの電源を入れ、テキストを入力し、プログラムを実行します。
4つ。 OOPの作成
クラスの作成:
リーリー
オブジェクト宣言:
<span>$computer</span> = <span>new</span> Computer();
new 标识符是为了在内测中创建一个对象(实例),而Computer()就是那个类所生
成的实例。
$computer 是一个变量,而且又是生成实例的引用。
有时,你可能需要创建多个对象。
<span>$computer2</span> = <span>new</span> Computer();
使用var_dump()函数可以打印变量的相关信息。
字段(成员)的添加:
<span>class</span><span> Computer { </span><span>//</span><span>类的字段(成员)</span> <span>public</span> <span>$_name</span> = '联想120'<span>; </span><span>public</span> <span>$_model</span> = 'LX'<span>; }</span>
1.声明字段:
<span>public</span> <span>$_name</span> = '联想120'
a) public 是修饰符,表示这是一个公共字段,可以通过外部直接访问。
b) $_name 是变量名。
c) '联想120'是变量的值。
2.读取字段
<span>echo</span> <span>$computer</span>->_name;
3.设置字段
<span>$computer</span>->_name = 'IBM110';
方法的创建
<span>class</span><span> Computer { </span><span>//</span><span>类的方法</span> <span>function</span><span> run() { </span><span>echo</span> '我成功的运行了!'<span>; } }</span>
执行方法
<span>$computer</span>->run();
也可以在方法添加一些参数,执行的时候,传入这些参数。
<span>class</span><span> Computer { </span><span>//</span><span>类的方法</span> <span>function</span> run(<span>$_what</span><span>) { </span><span>echo</span> <span>$_what</span> . '成功的运行了!'<span>; } } </span><span>$computer</span> = <span>new</span><span> Computer (); </span><span>$computer</span>->run('电脑');
构造方法
所谓构造方法,也是方法,只不过是一种特殊的方法。而方法名必须和类名一致,
并且不需要像普通方法一样,必须通过调用才能执行,只需要实例化即完成调用过程。
一般来说,构造方法总是在做一些初始化的工作。
<span>class</span><span> Computer { </span><span>//</span><span>构造方法</span> <span>function</span><span> Computer() { </span><span>echo</span> '我是构造方法!'<span>; } } </span><span>new</span> Computer (); <span>//</span><span>这样即完成了调用</span>
在PHP5 我们可以通过__construct 的内置方法来识别构造方法,而不用再需要和
类名相同了。
<span>class</span><span> Computer { </span><span>//</span><span>构造方法</span> <span>function</span><span> __construct() { </span><span>echo</span> '我是构造方法!'<span>; } }</span>
相对应构造方法,还有一种内置的方法是析构方法,它的用途在整个类使用完毕都
执行。一般可用于清理内存中对象(脚本执行完毕的时候会自动清理)。而如果有脚本执
行完毕后并没有清理的,比如数据库数据等,就有必要使用析构方法。
<span>class</span><span> Computer { </span><span>//</span><span>析构方法</span> <span>function</span><span> __destruct() { </span><span>echo</span> '我是析构方法'<span>; } }</span>
注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
