Comment appeler le constructeur de la classe parent en php ?

coldplay.xixi
Libérer: 2023-03-02 14:54:01
original
4052 Les gens l'ont consulté

php appelle le constructeur de la classe parent : utilisez parent pour appeler le constructeur de la classe parent, utilisez [::] pour référencer une classe, le code est [parent::__construct($title,$firstName,$mainName, prix $) 】.

Comment appeler le constructeur de la classe parent en php ?

php appelle le constructeur de classe parent :

Utilisez parent pour appeler le constructeur de classe parent

Pour faire référence à une méthode d'une classe plutôt qu'à un objet, utilisez :: (deux deux-points) au lieu de ->.

Donc, parent::__construct() sert à appeler la méthode __construct() de la classe parent.

Le code spécifique est le suivant :

<?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;
}
}
 
?>
Copier après la connexion

Chaque sous-classe appellera le constructeur de la classe parent avant de définir ses propres propriétés. La classe de base (classe parent) ne connaît désormais que ses propres données, et nous devrions essayer d'éviter de communiquer à la classe parent des informations sur la sous-classe. Il s'agit d'une règle empirique. Pensez-y si les informations d'une certaine sous-classe doivent être ". confidentiel", par conséquent, la classe parent connaît ses informations et d'autres sous-classes peuvent en hériter, de sorte que les informations de la sous-classe ne restent pas confidentielles.

Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!