ホームページ >php教程 >php手册 >PHP 学習オブジェクト指向コースウェア ページ 1/2

PHP 学習オブジェクト指向コースウェア ページ 1/2

WBOY
WBOYオリジナル
2016-06-13 12:28:38807ブラウズ

オブジェクトの主な 3 つの特性
オブジェクトの動作: オブジェクトにどのような操作を適用できるか、ライトをオンにするかライトをオフにするかが動作です。
オブジェクトの形状: これらのメソッドが適用されたときにオブジェクトがどのように反応するか、色、サイズ、外観。
オブジェクトの表現: オブジェクトの表現は、同じ動作と状態の違いを明確に区別します。

オブジェクト指向モデル
オブジェクト指向の概念:
oop (オブジェクト指向プログラミング) は、コードをより簡潔にし、保守しやすく、再現性を高めることができます
クラスとは :
クラスとは、同じ属性やサービスを持つオブジェクトの集合です。たとえば、人、本、船、車などはすべて、そのクラスに属するオブジェクトを統一的に抽象的に記述します。クラスは別個のプログラムであり、属性の説明とサービス パーツを含むクラス名が必要です。
オブジェクトとは:
オブジェクトは、客観的なイベントを記述するシステム内のエンティティであり、システムを構成する基本単位です。 *データとコードはエンティティにバンドルされています* オブジェクトは、一連のプロパティと、この一連のプロパティに対して動作する一連の動作で構成されます。
抽象的な観点から見ると、オブジェクトは問題領域または実装領域内の何かを抽象化したものです。これは、保存された情報と、システム内でその物体が果たす役割を反映します。これは、プロパティのセットと、これらのプロパティを操作する権限を持つカプセル化本体です。客観的な世界は、オブジェクトとオブジェクト間のつながりで構成されます。
クラスとオブジェクトの関係:
クラスとオブジェクトの関係は、型と鋳物の関係に似ており、クラスの強度の結果がオブジェクトであり、オブジェクトの抽象化がクラスです。クラスは、同じ特性 (プロパティ) を持つ人々と同じ動作を持つオブジェクトのグループを表します。

クラス、属性、メソッド
PHP で定義されたクラス構文形式:
class classname [オプションの属性]{
public $property [=value];... // public Declare を使用パブリック識別子を変数に代入することもできます。

function functionname (args){ //クラスメソッドのメンバー関数
Code}...
/ /Class メソッド (メンバー関数)
}
オブジェクトの生成 (クラスのインスタンス化): $Object name=new classname();

オブジェクトのプロパティの使用
クラス内で、クラス内の操作を通じて変数が設定またはアクセスされると、ポインタ $this は $this->name を使用して参照されます。
オブジェクトの生成
クラスを定義した後、新しいクラスを使用します。カプセル化機能により、オブジェクトにはメイン プログラム ブロックから直接アクセスできず、アクセスの目的を間接的に達成するには、クラスで定義された属性と動作関数を呼び出す必要があります。コントロールクラスのデータ。

オブジェクトとクラスの関係
オブジェクトとクラスの関係:
オブジェクトは実際に存在し、動的リソースを占有します。
クラスはオブジェクトの設計図であり、静的リソースを占有する場合があります。
オブジェクト属性は動的リソースを占有します
クラス (静的) 属性は、実際にはクラス名前空間の「グローバル変数」です
パフォーマンスに関する考慮事項:
各オブジェクトは個別のデータ空間を占有します
呼び出しレベルが増加する可能性があります実行時
メソッドのパラメータ形式と転送方法
メソッドのパラメータには、基本的なデータ型、配列、クラス オブジェクトを使用できます。
基本データ型: 値渡し
配列: 値渡し
クラス オブジェクト: 参照渡し

コンストラクター
コンストラクターはクラス内で初期化の役割を果たします
コンストラクターの生成方法は、名前が __construct() でなければならないことを除いて、他の関数と同じです。
文法形式: function __construct(parameter){
。 。 。 。 。 。 。 。
}
例:
class Person{
public $name;
public $age;
function __construct($name,$sex,$age; ){
echo "私はコンストラクターです
";
$this->name=$name
$this->sex=$sex; age=$age;
}
出力結果: Initialization
Destructor
オブジェクトがスコープを離れると (たとえば、オブジェクトが配置されている関数が呼び出された場合)、システムは自動的に実行します。デストラクター。終了する前に、デストラクターでメモリを解放する必要があります。
Destructor__destruct デストラクタにはパラメータがありません
例: class person{
function _ _destruct()
{ echo "bye bye!" }
}
$ a=new person();

アクセスタイプ
public Public (public 修飾子) クラス内外からアクセス可能
private Private (private 修飾子) クラス内のみアクセス可能内部アクセス
保護されている 保護されている (保護されたメンバー修飾子) サブクラスはアクセス可能 クラス外からはアクセスできない

oop の 3 つの重要な機能
カプセル化、継承、ポリモーフィズム
カプセル化 : カプセル化は組み合わせですオブジェクトのプロパティと動作を独立した単位にまとめます。
クラスをカプセル化するには 2 つの手順が必要です。最初の手順は、set と get を使用して値を読み取り、代入することです。
利点は、クラスの実装の詳細が隠蔽されることです。クラス化され、ロジックの追加が容易になり、属性に対する無理な操作が制限され、コードの修正が容易になり、保守性が向上します。

__get と __set
一般的に言えば、クラスをプライベートにする方が現実的です。
値の取得と保存には、2 つの事前定義関数が使用されます。
__get 通常はドメインの値を取得します
__set 通常はドメインの値を設定します
__call オブジェクトに存在しないメソッドを呼び出すとエラーになります call()メソッドはこの状況を処理します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。