オブジェクトの主な 3 つの特性
オブジェクトの動作: オブジェクトにどのような操作を適用できるか、ライトをオンにするかライトをオフにするかがビヘイビアーです。
オブジェクトの形状: メソッドが適用されたときのオブジェクトの反応、色、サイズ、外観。
オブジェクトの表現: オブジェクトの表現は ID カードに相当し、同じ動作や状態の違いを明確に区別します。
オブジェクト指向モデル
オブジェクト指向の概念:
oop (オブジェクト指向プログラミング) は、コードをより簡潔にし、保守しやすく、再現性を高めることができます
クラスとは:
クラスとは、同じ属性を持つクラスですおよびサービス 人、本、船、車などのグループ オブジェクトのコレクションはすべて、このクラスに属するオブジェクトの統一された抽象記述を作成します。プログラミング言語では、クラスは別個のプログラムである必要があります。クラス名には、属性の説明とサービスの 2 つの部分が含まれます。
オブジェクトとは:
オブジェクトは、客観的なイベントを記述するシステム内のエンティティであり、システムを構成する基本単位です。 *データとコードはエンティティにバンドルされています* オブジェクトは、一連のプロパティと、この一連のプロパティに対して動作する一連の動作で構成されます。
抽象的な観点から見ると、オブジェクトは問題領域または実装領域内の何かを抽象化したものです。これは、保存された情報と、システム内でその物体が果たす役割を反映します。これは、プロパティのセットと、これらのプロパティを操作する権限を持つカプセル化本体です。客観的な世界は、オブジェクトとオブジェクト間の接続で構成されます。
クラスとオブジェクトの関係:
クラスとオブジェクトの関係は、型と鋳物の関係に似ており、クラスの強度の結果がオブジェクトであり、オブジェクトの抽象化がクラスを表します。同じ特性 (属性) を持つオブジェクトと同じ動作を持つオブジェクトのグループ。
クラス、属性、およびメソッド
PHP で定義されたクラス構文形式:
class classname [optional attribute]{
public $property [=value];... // public を使用してパブリック識別子を宣言し、それを変数に渡します変数も使用可能 Assignment
function functionname (args){ //クラスメソッドのメンバー関数
Code}...
//クラスメソッド(メンバー関数)
}
オブジェクト(クラスのインスタンス化)を生成: $オブジェクト名=new classname( );
オブジェクトのプロパティを使用します
クラスでは、クラス内の操作を通じて変数が設定またはアクセスされる場合、$this->name を使用して参照できます。
オブジェクトの生成
クラスを定義した後、オブジェクト データのカプセル化の特性により、クラス内で定義された属性と動作関数を呼び出す必要があります。オブジェクトを通じて間接的にアクセスを実現し、クラス内のデータを制御することが目的です。
オブジェクトとクラスの関係
オブジェクトとクラスの関係:
オブジェクトは実際に存在し、動的リソースを占有します。
クラスはオブジェクトの設計図であり、静的リソースを占有する場合があります。
オブジェクト属性は動的リソースを占有します
クラス(静的)属性は、実際にはクラス名前空間の「グローバル変数」です
パフォーマンスに関する考慮事項:
各オブジェクトは個別のデータ空間を占有します
呼び出しレベルの増加により実行時間が消費される可能性があります
メソッドパラメータフォームと転送メソッド
メソッドのパラメータには、基本的なデータ型、配列、クラス オブジェクトを使用できます。
基本データ型: 値パラメータで渡す
配列: 値パラメータで渡す
クラスオブジェクト: 参照で渡す
コンストラクタ
コンストラクタはクラス内で初期化の役割を果たします
コンストラクタの生成方法は他の関数と同じです。その名前は __construct() である必要があります。
文法形式: function __construct(parameter){
。 。 。 。 。 。 。 。例}
クラス 人 {
パブリック $ 性別; & lt; 名前 = $ 名前; & gt; sex = $ sex;
$ this- & gt; age = $ Age; オブジェクトがスコープ内にある場合 (たとえば、オブジェクトが配置されている関数が呼び出された場合)、システムは自動的にデストラクターを実行します。終了する前に、デストラクターでメモリを解放する必要があります。
デストラクタ __destruct デストラクタにはパラメータがありません
例: class person{
function _ _destruct()
{ echo "bye bye!"; }
}
アクセスタイプ
public Public ( public 修飾子) はクラスの内部と外部の両方でアクセスできます
private (プライベート修飾子) はクラス内部からのみアクセスできます
protected (保護されたメンバー修飾子) はサブクラスからアクセスできますが、クラスの外部からはアクセスできません
oop の 3 つの重要な機能
カプセル化、継承、ポリモーフィズム
カプセル化: カプセル化とは、オブジェクトのプロパティと動作を独立したユニットに結合することです。
クラスのカプセル化には 2 つのステップが必要です。最初のステップは、set と get を使用して値を読み取り、割り当てることです。
利点は、クラスの実装の詳細を非表示にし、ロジックを簡単に追加できることです。属性に対する不当な操作を簡単に修正して、コードの保守性を向上させることができます。
__get と __set
一般的に言えば、クラスをプライベートにする方が現実的です。
値の取得と適用には、2 つの事前定義関数が使用されます。
__get 取得される値は通常ドメインの値です
__set 設定される値は通常ドメインの値です
__call オブジェクトに存在しないメソッドが呼び出された場合、call()メソッドはエラーとなります。この状況に対処するために使用されます。
現在のページ 1/2 12次のページ
上記は、php 学習のコンテンツを含む、php 学習オブジェクト指向コースウェアのページ 1/2 を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。