PHP継承

3479 ワード

PHP継承
これは2日前に更新されたはずなので、遅い更新ですが、私は英語の4級を過ぎたことがありません.いいえ、ありません.いいえ、ありません.私の気持ちが落ち込んだので、何日かゲームをしました.いや、何日か反省して、痛いのはどうですか.
以下はすべて私個人の理解で、間違いがあるところはまだ教えてほしいです.なぜ継承が必要なのですか?継承とは、子クラスがextends親クラスを介して親クラスの属性とメソッドを継承することです.もし今2つのクラスを書く必要があるとしたら、小学生クラスと高校生クラス、小学生は話すことができて、歩くことができて、試験、高校生も話すことができて、試験、もしあなたが2回話すことを書いて、歩くことができて、試験、それでは太っているように見えて、管理するのも面倒で、もし1つのクラスを定義して学生クラスが話すことを含んで、歩くことができて、試験、そして小学生類と高校生類にこの学生類を継承させると、例えばこうなります.
speak();
$pupil->walk();
$pupil->test();
echo '
'; $senior=new senior(); $senior->speak(); $senior->walk(); $senior->test(); ?>

出力:
         
         

これでコード管理がよくなります.今小学生が新しい技能を勉強して食べ物を食べると仮定して、私は今このように書きます.
speak();
    $pupil->walk();
    $pupil->test();
    $pupil->eat();
?>

このように書くと、エラーが発生します.
Fatal error: Class 'studentskill' not found in D:\xampp\htdocs\1.php on line 18

phpではこのようにマルチ継承を実現することはできないので、マルチ継承を実現するには次のように書くことができます.
speak();
        $pupil->walk();
        $pupil->test();
        $pupil->eat();
?>

出力:
            

まずskillクラスでstudentクラスを継承し、pupilクラスでskillクラスを継承します.これはpupilクラスがstudentクラスとskillクラスを継承することに相当します.
メソッド書き換え実装する2つのクラスに共通の特徴がある場合、この共通の特徴を1つの親クラスに抽象化することができます.例えば、小学生クラスと中学生クラスがあります.このような2つのクラスは、彼らは学生です.では、学生クラスを抽象化することができます.学生は試験ができます.では、試験という方法を学生というクラスに書きます.問題は、小学生は小学生の試験で、中学生は中学生の試験で、私はすべて試験を出力することができなくて、ここで方法を使って書き直しました.子クラスに親と同じメソッドを定義します.これにより、親クラスのメソッドが上書きされ、子クラスで定義されたメソッドのみが出力されます.例:
test();
        echo '
'; $senior=new senior(); $senior->test(); ?>

出力: