継承は、新しく作成されたクラスで既存のクラスの機能を拡張する方法です。基本クラスの機能を拡張する以外に、新しく作成したクラスに機能を追加することもできます。 1 つのクラスを継承するとき、継承されたクラスを子クラス (サブクラス) と呼び、継承元の親クラスと呼ばれます。親クラスは基本クラスとも呼ばれます。これは、プログラミング コードの管理とコードの再利用性を向上させる方法です。継承の使用の背後にある考え方は、コードの管理を改善し、コードを再利用できるようにすることです。このトピックでは、PHP の継承について学習します。
広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
PHP は、JAVA などのさまざまなタイプの継承をサポートしています。以下の表は、PHP での継承タイプとサポート状況のリストを示しています。
Inheritance Type | Support in PHP |
Single Inheritance | YES |
Multilevel Inheritance | YES |
Hierarchical Inheritance | YES |
Multiple Inheritance | NO |
PHP は単一継承をサポートしています。単一継承は、1 つのクラスが 1 つのクラスのみを継承できるという PHP の概念です。このプロセスの間に 2 つのクラスが必要です。 1 つは基本 (親) クラスで、もう 1 つは子クラスです。例を挙げて同じことを理解しましょう。これは単純継承としてよく知られています。 PHP 言語におけるこのタイプの継承は、JAVA、C++ などと同じです。
コード:
<?php class MyAccess { var $var = "This is first var"; protected $fist_name; // simple class method function returnVar() { echo $this->fist_name; } function set_fist_name($set_this){ $this->fist_name = $set_this; } } class child extends MyAccess { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo $this->fist_name; } } $obj1 = new child(); $obj1->setVal("Jai Shre"); $obj1->getVal(); ?>
MyAccess は親であり、子は子のクラスの名前です。
出力:
PHP はマルチレベル継承をサポートしています。このタイプの継承では、2 つ以上のクラスが存在します。このタイプの継承では、親クラスが子クラスに継承され、その子クラスが子クラスに継承されます。 PHP 言語におけるこのタイプの継承は、C++ などと同じです。
コード:
<?php class ParentClass { var $var = "This is first var"; public $fist_name; // simple class method function returnVar() { echo $this->fist_name; } function set_fist_name($set_this){ $this->fist_name = $set_this; } } class child_1 extends ParentClass { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo "Extended By Parent Class -". $this->fist_name; } } class child_2 extends child_1 { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo "Extended By child 1 - ".$this->fist_name; } } $obj1 = new child_1(); $obj1->setVal("This is first inherited class"); $obj1->getVal(); echo "<br/><br/>"; $obj2 = new child_2(); $obj2->setVal("This is second inherited class"); $obj2->getVal(); ?>
出力:
PHP は階層継承をサポートしています。階層継承は、プログラムが 1 つの親クラスと複数の子クラスで構成される継承のタイプです。この例でも同じことを理解しましょう。 PHP 言語におけるこのタイプの継承は、JAVA、C++ などと同じです。
コード:
<?php class ParentClass { var $var = "This is first var"; public $fist_name; // simple class method function returnVar() { echo $this->fist_name; } function set_fist_name($set_this){ $this->fist_name = $set_this; } } class child_1 extends ParentClass { function setVal($set_this){ $this->fist_name = $set_this; } function getVal(){ echo $this->fist_name; } } class child_2 extends ParentClass { function setVal($set_this){ $this->fist_name = $set_this." - ".$set_this;; } function getVal(){ echo $this->fist_name; } } $obj1 = new child_1(); $obj1->setVal("This is first child class"); $obj1->getVal(); echo "<br/><br/>"; $obj2 = new child_2(); $obj2->setVal("This is second child class"); $obj2->getVal(); ?>
出力:
ParentClass という名前の親クラスが 1 つと、それぞれ child_1 と child_2 という 2 つの子クラスがあります。与えられた継承シナリオは、階層継承と呼ばれます。
継承には大きな利点があるため、継承の重要性はさらに高まります。
通常のコードと比較していくつかの利点があるため、ビジネスを遂行するには継承を使用する必要があります。継承を扱う際には、データのセキュリティに注意する必要があります。 private や protected などのアクセス修飾子を使用して、データの隠蔽やデータ セキュリティに対処できます。 PHP は多重継承をサポートしていません。
以上がPHP における継承の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。