php类的继承

<?php
/*
*
*面向对象的优势就在于类的复用,继承是类级别的复用,多态是方法级别的复用
*1:类的组合  类的继承
*/
//继承的例子
class person{
	public $name="Tom";
	public $gender;
   	static $money=20000;
	public function __construct(){
			
			echo '这是父类',PHP_EOL;
	}
	public function say(){
			echo $this->name,"\tis",$this->gender,"\r\n";
	}
}
class family extends person{
	public $name;
	public $gender;
	public $age;
	static $money=100000;
	public function __construct(){
		parent::__construct();//调用父类的方法
		echo '这是子类',PHP_EOL;
	}
	public function say(){
		parent::say();
		echo $this->name,"\tis\t",$this->gender,",and is \t",$this->age,PHP_EOL;
	}
	public function cry(){
		echo parent::$money,PHP_EOL;
		echo "%>___<%",PHP_EOL;
		echo self::$money,PHP_EOL;
		echo "*^__^*",PHP_EOL;
		
	}
}

$poor = new family();
$poor->name="Lee";
$poor->gender="female";
$poor->age=25;
$poor->say();
$poor->cry();
/*
*这是父类
这是子类
Lee	isfemale
Lee	is	female,and is 	25
20000
%>___<%
100000
*^__^*
*/
?>
<?php
/*
*2014-3-23
*继承与组合的比较
*/
class car{
	public function addoil(){
			echo 'ADD Oil\r\n';
	}

}
//类的继承
class bmw extends car{

}
//类的组合
class benz {
	public $car;
	public function __construct(){
			$this->car=new car();
	}
	public function addoil(){
			$this->car->addoil();
	}

}
$bmw = new bmw();
$bmw->addoil();
$benz = new benz();
$benz->addoil();
/*
上边这两个比较组合显然增加的代码量,但是继承的最大缺点是相互依赖度太大,就是所说的高耦合
继承最大的有点就是扩展简单但是缺点大于有点,在设计的时候慎重考虑
*/
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值