ホームページ > バックエンド開発 > PHPチュートリアル > PHP でのオブジェクト指向クラス継承の使用の概要

PHP でのオブジェクト指向クラス継承の使用の概要

黄舟
リリース: 2023-03-12 11:24:01
オリジナル
1069 人が閲覧しました

PHP クラスの継承 は、PHP 言語を学習する上で比較的重要な知識ポイントです。では、PHP クラスの継承を正しく学ぶにはどうすればよいでしょうか? PHP オブジェクト指向プログラミング では、クラスの継承が常に最も重要です。

これはちょうど人間が子供を産むのと同じで(なぜ子供を作らなければならないのですか?老化を防ぐためだけですか?わかりません)、あなたは自分の遺伝子の一部と妻の遺伝子の一部を取り出して、再生します。新しい個人、この新しい人格には必ず二人の特徴が含まれています。 これは遺伝(遺伝)の生物学的な説明です。プログラミングの世界では、継承は継承です。

まず、継承の生きた原則をいくつか理解した後、PHP クラスの継承がそれほど神秘的ではなくなるかどうかを確認したいと思います。たぶん、私たち自身があまりにも複雑なので、そもそも神秘的ではないのかもしれません。継承するには「ルート」が必要です。この「ルート」については、将来息子や娘が生まれた場合に、何かの「もの (プロパティとメソッド)」を取得することを想像するかもしれません。あなたは、あなたの「子孫」があなたの(ルート)特性をすべて保持していることを意味します。これを文法を使って PHP のオブジェクト指向言語でどのように表現するかを説明しましょう (人間のように直接的にはできません。結婚すると、しばらくすると子孫が生まれます)

1. 「ルート」クラス (親) を生成します。 class) または基底クラス)

文法:

class father{
}
ログイン後にコピー

1. "子孫" (サブクラス) を生成する

文法:

class son extends father{
}
ログイン後にコピー

説明: 親クラスは単なる通常のクラスであり、後に追加するだけです。通常のクラス extends キーワードは問題ありません。そのため、サブクラスには親クラスのすべてのプロパティとメソッドのみが含まれます。実はとても簡単なことなのです。

ここで実際的なことをしてみましょう。結局のところ、PHP クラスの継承で親クラスとサブクラスを定義することは、特定のタスクを完了することです。ここでのタスクは比較的単調です。人間を例に挙げると、人間には名前 (属性) があり、睡眠と食事 (メソッド) が必要です。この基本的なタスクを使用して、このセクションの知識を完成させましょう。

<?php   
class father{   
protected $name;   
function construct($name){   
$this->name=$name;   
}   
function destruct(){   
echo "<p>{$this->name}也是要死的<br/></p>";   
}   
//这个就是所谓的构造函数,用来初始化   
function go_to_sleeping(){   
echo "<p>{$this->name}想睡觉.</p>";   
}   
function eat(){   
echo "<p>{$this->name}想吃饭.</p>";   
}   
}   
class son extends father{   
function playing(){   
//小孩子会很调皮的,当然他也是要吃要睡的生物   
echo "<p>{$this->name}正在捣蛋...</p>";   
}   
}   
$your_father=new father("老爸");   
$your_father->go_to_sleeping();   
$your_father->eat();   
$my_son=new son(&#39;宝贝&#39;);   
$my_son->go_to_sleeping();   
$my_son->eat();   
$my_son->playing();   
?>   
<?php  
class father{  
protected $name;  
function construct($name){  
$this->name=$name;  
}  
function destruct(){  
echo "<p>{$this->name}也是要死的<br/></p>";  
}  
//这个就是所谓的构造函数,用来初始化  
function go_to_sleeping(){  
echo "<p>{$this->name}想睡觉.</p>";  
}  
function eat(){  
echo "<p>{$this->name}想吃饭.</p>";  
}  
}  
class son extends father{  
function playing(){  
//小孩子会很调皮的,当然他也是要吃要睡的生物  
echo "<p>{$this->name}正在捣蛋...</p>";  
}  
}  
$your_father=new father("老爸");  
$your_father->go_to_sleeping();  
$your_father->eat();  
$my_son=new son(&#39;宝贝&#39;);  
$my_son->go_to_sleeping();  
$my_son->eat();  
$my_son->playing();  
?>
ログイン後にコピー

分析: 継承を使用する最初の例では、PHP コンストラクターで説明したコンストラクターと、PHP クラスのカプセル化のキーワードを使用します。正午には寝たくなかったので、これ以上言いたくないのですが、この小さなプログラムについて話しましょう。

クラスの父では、人の名前、その人が何を食べ、何を寝る必要があるかなどの一般的な特徴を定義し、そのサブクラス (子孫) で個人化されたメソッド (結局のところ、人) を定義します。それらの間には違いがあります。コンストラクターを使用して名前を初期化し、もちろん destructor を使用してオブジェクトを「破棄」しますが、サブクラスにはコンストラクターとデストラクターがないことに気づいていないかもしれません。そのため、サブクラスは次のすべてのメソッドを継承します。それ以外の場合、このように $my_son->go_to_sleeping(); を呼び出すことができますか? これは PHP クラスの継承です。

りー

以上がPHP でのオブジェクト指向クラス継承の使用の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート