オブジェクト指向では(PHPに限らず)大切な機能があるみたいです。
それは、既存の作ったクラスをそのまま使い回ししつつ、簡単にパワーアップさせられる機能です。
これをクラスの継承というみたいです。
まずは、実際のプログラムを見てください。
少々長いですが、中身はクラスの練習プログラムと同じです。
![](https://blogimg.goo.ne.jp/user_image/1d/74/0b989820bb153f826190bc874d86d7bd.jpg)
![](https://blogimg.goo.ne.jp/user_image/73/8d/97f20b2933255cb32cb497f4d948c3f4.jpg)
22行目に新しくクラスが出来ていることを確認できると思います。
このクラスは、先日から勉強しているクラスと比べてちょっと書き方が違いますよね。
class auto extends aisatsu とありますが、extendsとは継承を意味していて、aisatsuクラスから継承したクラスということを示しています。
入門書には、aisatsuクラスのように元となるクラスのことを親クラス、親クラスから機能を継承して作られるクラスのことを子クラスといっています。
機能を継承とあるように、子クラスは親クラスからメソッドとメンバーを引き継いで値を処理することが出来ます。
親のメソッドもメンバも使えるわけですね。
簡単にバーションアップできそうです!
なお、クラスを継承した場合、インスタンス化するクラスは子クラスを指定しなくちゃいけません。
※57行目ね
親クラスをインスタンス化しても子クラスはインスタンス化されません。
逆に、子クラスをインスタンス化すれば、自動的に親クラスもインスタンス化されるみたいです。
ちなみに、PHPではクラスの継承は子クラスまでしかできません。孫、ひ孫クラスの継承は無理ってことですね。
そんなに増えるとわからなくなるかw
それは、既存の作ったクラスをそのまま使い回ししつつ、簡単にパワーアップさせられる機能です。
これをクラスの継承というみたいです。
まずは、実際のプログラムを見てください。
少々長いですが、中身はクラスの練習プログラムと同じです。
![](https://blogimg.goo.ne.jp/user_image/1d/74/0b989820bb153f826190bc874d86d7bd.jpg)
![](https://blogimg.goo.ne.jp/user_image/73/8d/97f20b2933255cb32cb497f4d948c3f4.jpg)
22行目に新しくクラスが出来ていることを確認できると思います。
このクラスは、先日から勉強しているクラスと比べてちょっと書き方が違いますよね。
class auto extends aisatsu とありますが、extendsとは継承を意味していて、aisatsuクラスから継承したクラスということを示しています。
入門書には、aisatsuクラスのように元となるクラスのことを親クラス、親クラスから機能を継承して作られるクラスのことを子クラスといっています。
機能を継承とあるように、子クラスは親クラスからメソッドとメンバーを引き継いで値を処理することが出来ます。
親のメソッドもメンバも使えるわけですね。
簡単にバーションアップできそうです!
なお、クラスを継承した場合、インスタンス化するクラスは子クラスを指定しなくちゃいけません。
※57行目ね
親クラスをインスタンス化しても子クラスはインスタンス化されません。
逆に、子クラスをインスタンス化すれば、自動的に親クラスもインスタンス化されるみたいです。
ちなみに、PHPではクラスの継承は子クラスまでしかできません。孫、ひ孫クラスの継承は無理ってことですね。
そんなに増えるとわからなくなるかw