他クラスの「データ」・「処理」を引き継ぐ
こんにちは、徳です。
デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。
現在は初心者なので、とにかくゆっくり進んでいくと思います。
また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。
では、いきましょう!
PHP
今回は、
クラスの継承
です。
PHPのクラスには
継承
という概念があります。
継承とは、
クラスの中身の引き継ぎ
になります。
こちらを使うことで、同じ中身を何度も書く必要がなくなります。
それではよろしくお願いします。
クラスの継承
継承とは、他クラスの中身を引き継ぐ仕組み
クラスの継承とは、
他のクラスの「データ」「処理」を引き継ぐ仕組み
です。
クラスには、
プロパティ
メソッド
が入っています。
クラスによっては、同じものを使うこともあります。
その場合、
どちらにも共通するクラスを作成し、異なる内容の別々のクラスに継承する
ことで、書く内容を減らすことができます。
考え方
クラスの継承の目的の一つは、
クラスの拡張
です。
プログラムをしていると、
もとあったクラスに新しく付け足した別のクラスを作りたい
ということもあります。
その場合、もとあるクラスと同じ内容は継承し、
それ以外の「データ」や「処理」を指定したクラスをつくる
ことでクラスの拡張をすることができます。
その時、
元あったクラス
親クラス
拡張するクラス
子クラス
と言います。
書き方
クラスの継承
class クラス名 extends 親クラス名{ メソッド名(){ 処理文; } }
親クラスは定義してある状態からの書き方を紹介します。
この時、
クラス名は大文字から始める
のが慣習です。
実際は、小文字からでも定義はできます。
しかし、大文字から始めることで、他の人が見ても
これはクラス名なんだなと読みやすくなります。
例
学生クラスを野球部・陸上部に継承する
class Student{
public function __contruct($name){
$this->name = $name;
}
function introduction(){
print("名前は".$this->name."です。\n");
}
}
class Track extends Student{
public function __construct($name,$res){
$this->name = $name;
$this->res = $res;
}
function resIntro(){
print($this->name ."さんの専門種目は" . $this->res . "です。");
}
}
$Nori = new Track("徳","100m");
$Nori->introduction();
$Nori->resIntro();
まとめ
今回は、
クラスの継承
について紹介させていただきました。
クラスの継承とは、
すでに定義したクラスをもとに新しいクラスを定義する
ことです。
子クラスを定義するときに、
class 子クラス名 extends 親クラス名
と書くことで親クラスのメソッドなどを子クラスでも使用することができます。
つまり、
継承することでコンストラクタなどで指定したものを再度定義せずに使用できる
ということです。
これにより、プログラムを少なくすることができますね。
同じ文をなるべく書かない様にするのがいいプログラムです。
最後まで読んでいただき、ありがとうございました。
コメント