课程名称:PHP面向对象编程
课程章节:
4-1 对象继承-php面向对象编程
课程链接
主讲老师:Peter
课程内容
学习到了PHP中对象的继承原则,而且PHP中只能够单继承。
课程收获
一、对象的继承
定义
被继承的类叫父类,比如人,继承的类叫子类
总结
什么是继承,继承是一种方法,用来提高代码的可重用性和减少代码的冗余性,就像现实生活中的遗传一样,子女都会继承父母的部分基因,所以你一生下来你就是有人类的共同属性和行为
在PHP中可以用extends关键字来表示类的继承,后面跟父类的类名、PHP中extends后面只能跟一个类的类名,这就是php的单继承原则
继承的好处
-父类里面定义的类成员可以不用在子类中重复定义,节约了编程的时间和代价
-同一个父类的子类拥有相同的父类定义的类成员,因此外部代码调用它们的时候可以一视同仁
-子类可以修改和调整父类定义的类成员
·我们称之为重写(Overwrite)
·一旦子类修改了,就按照子类修改之后的功能执行
代码实现
<?php
class Human
{
public $name;
public $height;
public $weight;
public function eat($food)
{
echo $this->name."'s eating".$food."\n";
}
}
class NbaPlayer extends Human
{
// 定义属性
public $team = "Bull";
public $playerNumber = "23";
function __construct($name, $height, $weight, $team, $playerNumber)
{
echo "In NbaPlayer constructor\n";
$this->name = $name;
$this->height = $height;
$this->weight = $weight;
$this->team = $team;
$this->playerNumber = $playerNumber;
}
function __destruct()
{
echo "Destroying". $this->name . "\n";
}
// 定义方法
public function run()
{
echo "Running\n";
}
public function jump()
{
echo "Jumping\n";
}
public function dribble()
{
echo "Dribbling\n";
}
public function shoot()
{
echo "Shooting\n";
}
public function dunk()
{
echo "Dunking\n";
}
public function pass()
{
echo "Passing\n";
}
}
// 类的实例化
$jordan = new NbaPlayer("Jordan","203cm","120kg","Heat","6");
echo $jordan->name."\n";
$jordan->eat("Apple"); //在子类的对象上可以直接访问父类中