【PHP】PHP 课题13-10 覆盖和类的继承
主程序的要求。
1. 请分别创建 Bulldog类的实例和Dog类的实例。
2. 请调用每个实例的introduce方法。
主要文件
公共/对象示例/扩展练习.php
<?php
// 各クラスの読み込み
require_once 'classes/Dog.php';
require_once 'classes/Bulldog.php';
$taro = new Dog('太郎', 20,70);
$taro->introduce();
echo '<hr>';
$bull = new Bulldog('ブル', 30,80);
$bull->introduce();
继承源的类
公共/对象示例/类/狗.php
<?php
// 猫型ロボットの製造機械、Catクラスを作る
class Dog {
private $name;
private $weight;
private $height;
public function __construct($name, $weight,$height){
$this->name = $name;
$this->weight = $weight;
$this->height = $height;
}
public function introduce(){
$this->introduce_name();
$this->introduce_weight();
$this->introduce_height();
$this->shout();
}
private function introduce_name(){
echo '名前は'. $this->name. 'です<br>';
}
private function introduce_weight(){
echo '私の体重は'. $this->weight.'kgです。<br>';
if($this->weight < 10){
echo '小型犬です。<br>';
}elseif($this->weight < 25){
echo '中型犬です。<br>';
}else{
echo '大型犬です。<br>';
}
}
private function introduce_height(){
echo '私の体長は'. $this->height.'cmです<br>';
}
public function shout(){
echo 'ワン!<br>';
}
}
继承前辈
公共/对象样本/类/英国斗牛犬.php
<?php
require_once 'Dog.php';
class Bulldog extends Dog {
// introduceメソッドをオーバーライド
public function introduce(){
// 最初に継承元(親)クラスのintroduceメソッドを呼び出しておく。
echo 'ブルルルル...!<br>';
parent::introduce();
echo 'ブルルルル...!<br>';
}
}