面向对象(三)继承

<?php
//继承
//概念:如果一个类有子类,那么该子类会继承父类的一切东西(私有成员访问不到)
//在定义子类的时候需要加一个关键字:extends
//特点:单继承,一个儿子只能有一个父亲,一个类只能有一个父类
//如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实例化
//子类对父类方法的重写:在子类中写一个同样的方法
//final:用来修饰类,代表该类是一个最终类,该类无法被继承

class Person      
{
	public $name;
	public $sex;
	public $age;
	
	function __construct($name="",$sex="男",$age=12)  //构造函数
	{
		$this->name=$name;
		$this->sex=$sex;
		$this->age=$age;
	}
	function say()
	{
		echo $this->name."说hello";
	}
}

//编写一个子累,关键字:extends
class China extends Person   
{
	public $birthday;
	function run()
	{
		echo $this->name."跑的最快";
	}
	function say()       //子类对父类方法的重写
	{
		parent::say();   //调用父类的say方法
		echo $this->name."说汉语";
	}
}

$p=new Person("李大","男",24);
echo $p->say();
var_dump($p);

$c=new China("王小丽","女");
$c->birthday=2003;
echo $c->run()."<br>";
echo $c->say();
var_dump($c);

  

你可能感兴趣的:(面向对象(三)继承)