public Public: このクラス、サブクラス、外部オブジェクトはすべて呼び出すことができます
protected 保護済み: このクラスのサブクラスは実行可能ですが、外部オブジェクトを呼び出すことはできません
private プライベート: このクラスのみを実行でき、サブクラスと外部オブジェクトを呼び出すことはできません
オブジェクト指向プログラミングの3つの大きな特徴
1) 閉鎖性
閉鎖は情報隠蔽とも言えます。クラスの利用と実装を分離し、外部と接続するインターフェース(メソッド)を限定することです。このクラスを使用する開発者は、このクラスの使用方法を知るだけでよく、このクラスがどのように実装されるかを気にする必要はありません。そうすることで、開発者は他のことに集中できるようになり、同時にプログラム間の相互依存によって生じる不都合も回避できます。
2) 継承
継承とは、派生クラス (サブクラス) が 1 つ以上の基本クラス (親クラス) のプロパティとメソッドを自動的に継承し、新しいプロパティとメソッドをオーバーライドまたは追加できることを意味します。継承によりオブジェクトとクラスの作成が簡素化され、コードの再現性が向上します。継承は単一継承と多重継承に分けられます。PHP は単一継承をサポートします。つまり、サブクラスは親クラスを 1 つだけ持ちます。
3)ポリモーフィズム
ポリモーフィズムとは、同じクラスの異なるオブジェクトが同じメソッドを使用して異なる結果を取得できることを意味します。この手法はポリモーフィズムと呼ばれます。ポリモーフィズムにより、ソフトウェアの柔軟性と再利用性が向上します。
クラスの定義
クラスには、独自の定数、変数 (「プロパティ」と呼ばれる)、関数 (「メソッド」と呼ばれる) を含めることができます。
多くのオブジェクト指向言語と同様、PHP も class キーワードとクラス名を使用してクラスを定義します。クラスの形式は次のとおりです:
定義: 羽の鳥は群れを成し、類似した特性を持つオブジェクトはクラスにグループ化され、これらの類似したオブジェクトが持つ同じプロパティとメソッドが定義されます。クラスは、クラスの定義と呼ばれる類似のオブジェクトの記述であり、そのクラスのオブジェクトの設計図またはプロトタイプです。
クラスのオブジェクトは、クラスのインスタンスと呼ばれます。クラスのインスタンスを作成するには、new キーワードを使用する必要があります。
001ZpQGYty6MeYnSNUh25&690
//メソッドを定義する
パブリック関数 run(){
echo "Runningn";
}
パブリック関数 dribblr(){
「ドリブル」をエコーする;
}
パブリック関数 pass(){
echo "通過";
}
}
//クラスからオブジェクトへのインスタンス化
// クラスをオブジェクトにインスタンス化するときは、キーワード new を使用し、その後に new 、その後にクラス名と 1 組のかっこを続けます
$ジョーダン = 新しい NbaPlayer();
echo $jordan->name."n";
$ジョーダン->ドリブル();
$jordan->run();
?>
クラス内の関数はメンバーメソッドと呼ばれます。関数とメンバー メソッドの唯一の違いは、関数は独立した関数を実装するのに対し、メンバー メソッドはクラス内の動作を実装し、クラスの一部であることです。
上記の myobject クラスを展開し、それにメンバー メソッドを追加しましょう。コードは次のとおりです。
このメソッドの機能は、メソッドのパラメータを通じて渡される製品名を出力することです。
クラスは抽象的な記述であり、同様の機能を持つオブジェクトの集合です。クラス内のメソッドと変数を使用する場合は、まずそれらをエンティティ、つまりオブジェクトに実装する必要があります。
クラス定数
変数があるので定数も当然あります。定数とは、変化しない量であり、一定の値です。よく知られている定数は pi です。定数を定義するには、次のようなキーワード const を使用します:
ConstPI=3.14159;
コンストラクター
PHP 5 では、開発者がクラス内のコンストラクターとしてメソッドを定義できます。コンストラクターを持つクラスは、新しいオブジェクトが作成されるたびにこのメソッドを呼び出すため、オブジェクトを使用する前に初期化作業を行うのに非常に適しています。
// オブジェクトがインスタンス化されるときに自動的に呼び出されるコンストラクター
関数 __construct($name,$height,$weight,$team){
echo "これは NbaPlayer コンストラクターです";
$this->name = $name;
//$this は PHP の疑似変数で、オブジェクト自体を表します。 $this->
を通じてオブジェクトのプロパティとメソッドにアクセスできます。
$this->height = $height;
$this->weight = $weight;
$this->team = $team;
}
//メソッドを定義する
パブリック関数 run(){
echo "Runningn";
}
パブリック関数 dribblr(){
「ドリブル」をエコーする;
}
パブリック関数 pass(){
echo "通過";
}
}
//クラスからオブジェクトへのインスタンス化
// クラスをオブジェクトにインスタンス化するときは、キーワード new を使用し、その後に new、その後にクラス名と括弧のペアを続けます
$jordan = 新しい NbaPlayer("ジョーダン","198cm","98kg","ブル");
echo $jordan->name."n";
$ジョーダン->ドリブル();
$jordan->run();
$james = new NbaPlayer("ジェームズ","203cm","120kg","ヒート")
echo $james->name."n";
?>
オブジェクトの参照
// オブジェクトがインスタンス化されるときに自動的に呼び出されるコンストラクター
関数 __construct($name,$height,$weight,$team){
echo "これは NbaPlayer コンストラクターです";
$this->name = $name;
//$this は PHP の疑似変数で、オブジェクト自体を表します。 $this->
を通じてオブジェクトのプロパティとメソッドにアクセスできます。
$this->height = $height;
$this->weight = $weight;
$this->team = $team;
}
//プログラムの実行終了時にデストラクターが自動的に呼び出されます
// デストラクターは通常、プログラムで使用されるリソースをクリーンアップするために使用されます。たとえば、プログラムがプリンターを使用する場合、プリンターのリソースはデストラクターで解放できます
関数 __destruct(){
echo "破壊中".$this->name."n";
}
//メソッドを定義する
パブリック関数 run(){
echo "Runningn";
}
パブリック関数 dribblr(){
「ドリブル」をエコーする;
}
パブリック関数 pass(){
echo "通過";
}
}
//クラスからオブジェクトへのインスタンス化
// クラスをオブジェクトにインスタンス化するときは、キーワード new を使用し、その後に new 、その後にクラス名と 1 組のかっこを続けます
$jordan = 新しい NbaPlayer("ジョーダン","198cm","98kg","ブル");
echo $jordan->name."n";
$ジョーダン->ドリブル();
$jordan->run();
$james = new NbaPlayer("ジェームズ","203cm","120kg","ヒート")
echo $james->name."n";
//$james と $james1 はオブジェクトへの 2 つの独立した参照です
//$james2 は $james のシャドウであり、オブジェクトの同じ参照を使用します。null への代入は同じ参照を削除することと同じです
。
$james1 = $james;
$james2 = &$ジェームズ
エコー「これからジェームスは使われません。n」
?>