PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの子クラスで親コンストラクターを呼び出す方法は?


子クラスで親コンストラクターメソッドを呼び出すときに2つのケースに直面します。

ケース1

子クラスがコンストラクターを定義している場合、子クラスで親クラスコンストラクターを直接実行することはできません。親コンストラクターを実行するには、子コンストラクター内でparent ::__construct()を呼び出す必要があります。

<?php
   class grandpa{
      public function __construct(){
         echo "I am in Tutorials Point"."\n";
      }
   }
   class papa extends grandpa{
      public function __construct(){
         parent::__construct();
         echo "I am not in Tutorials Point";
      }
   }
$obj = new papa();
?>
Output:
I am in Tutorials Point
I am not in Tutorials Point

説明

上記の例では、parent ::__construct()を使用して親クラスのコンストラクターを呼び出しています。

ケース2

子がコンストラクターを定義しない場合、通常のクラスメソッドと同じように親クラスから継承される可能性があります(プライベートとして宣言されていない場合)。

<?php
   class grandpa{
      public function __construct(){
         echo "I am in Tutorials point";
      }
   }
   class papa extends grandpa{
   }
   $obj = new papa();
?>

出力

I am in Tutorials point

説明

ここでは、子クラスで子クラスでコンストラクター関数を宣言していないため、親クラスが暗黙的に呼び出されます。


  1. C#でクラスのメソッドを呼び出す方法

    メソッドを呼び出すには、オブジェクト名の後にメソッドの名前を使用します(例:-)。 obj1. Display(); クラス名がApplicationOneであるとすると、メソッドを呼び出す- ApplicationOne one = new ApplicationOne(); //calling the displayMax method ret = one.displayMax(a, b); 以下は、C#でメソッドを呼び出す方法を示す例です- 例 using System; namespace Demp {    class ApplicationOne { &

  2. Pythonでクラス継承はどのように機能しますか?

    クラスの継承 クラスを新たに定義する代わりに、新しいクラス名の後に括弧で囲まれた親クラスをリストすることにより、既存のクラスからクラスを派生させてクラスを作成できます。 子クラスはその親クラスの属性を継承し、それらの属性を子クラスで定義されているかのように使用できます。子クラスは、親のデータメンバーとメソッドをオーバーライドすることもできます。 構文 派生クラスは、親クラスとほとんど同じように宣言されます。ただし、継承する基本クラスのリストは、クラス名の後に示されています- class SubClassName (ParentClass1[, ParentClass2, ...]): &