ホームページ  >  記事  >  バックエンド開発  >  PHPで親クラスのコンストラクターを呼び出すにはどうすればよいですか?

PHPで親クラスのコンストラクターを呼び出すにはどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-14 11:11:304047ブラウズ

php は親クラスのコンストラクターを呼び出します。parent を使用して親クラスのコンストラクターを呼び出し、[::] を使用してクラスを参照します。コードは [parent::__construct($title,$firstName,$mainName, $価格)】。

PHPで親クラスのコンストラクターを呼び出すにはどうすればよいですか?

php は親クラスのコンストラクターを呼び出します:

親クラスを呼び出すには parent を使用しますコンストラクター メソッド

オブジェクトではなくクラスのメソッドを参照するには、-> の代わりに :: (2 つのコロン) を使用します。

したがって、parent::__construct() 親クラスの __construct() メソッドを呼び出します。

具体的なコードは次のとおりです。

<?php
header(&#39;Content-type:text/html;charset=utf-8&#39;);
// 从这篇开始,类名首字母一律大写,规范写法
class ShopProduct{    // 声明类
public $title; // 声明属性
public $producerMainName;
public $producerFirstName;
public $price;
function __construct($title,$firstName,$mainName,$price){
$this -> title = $title;    // 给属性 title 赋传进来的值
$this -> producerFirstName= $firstName; 
$this -> producerMainName = $mainName; 
$this -> price= $price; 
}
function getProducer(){    // 声明方法
return "{$this -> producerFirstName }"."{$this -> producerMainName}";
}
function getSummaryLine(){
$base = "{$this->title}( {$this->producerMainName},";
$base .= "{$this->producerFirstName} )";
return $base;
}
}
class CdProduct extends ShopProduct {
public $playLenth;
function __construct($title,$firstName,$mainName,$price,$playLenth){
parent::__construct($title,$firstName,$mainName,$price);
$this -> playLenth= $playLenth;
}
function getPlayLength(){
return $this -> playLength;
}
function getSummaryLine(){
$base = "{$this->title}( {$this->producerMainName},";
$base .= "{$this->producerFirstName} )";
$base .= ":playing time - {$this->playLength} )";
return $base;
}
}
// 定义类
class BookProduct extends ShopProduct {
public $numPages;
function __construct($title,$firstName,$mainName,$price,$numPages){
parent::__construct($title,$firstName,$mainName,$price);
$this -> numPages= $numPages;
}
function getNumberOfPages(){
return $this -> numPages;
}
function getSummaryLine(){
$base = "{$this->title}( {$this->producerMainName},";
$base .= "{$this->producerFirstName} )";
$base .= ":page cont - {$this->numPages} )";
return $base;
}
}
 
?>

各サブクラスは、独自のプロパティを設定する前に、親クラスのコンストラクターを呼び出します。現在、基底クラス (親クラス) は自身のデータのみを知っているため、サブクラスに関する情報を親クラスに伝えないようにする必要があります。これは経験則です。特定のサブクラスの情報が " confidential" の場合、その結果、親クラスはその情報を知っており、他のサブクラスはその情報を継承できるため、サブクラスの情報は機密に保たれません。

関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで

以上がPHPで親クラスのコンストラクターを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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