众所周知PHP也是一门面向对象语言
面向对象的特性,封装,继承,多态;
还好笔者是学习java开发的,所以对继承已经明白了的很深了。
类的继承性,一个就是新的子类可以从另一个父类派生出来,并自动拥有父类的全部属性和方法。
PHP中类的继承性规则:
1、子类自动继承父类的所有属性和方法。
2、如果一个子类中的方法与父类同名,那么子类方法自动覆盖父类的方法。
在使用PHP类的继承性需要注意:
1.如果新的类中没有自己的构造函数,那么子类会自动调用父类的构函数。
下面的例子是个简单的继承:
class A {
function A() {
echo "吃";
}
}
class B extends A {
function A () {
$this->A();
}
}
$c1 = new B;//初始化 在这里会执行父类的一个方法
2.如果新类中有自己的构造函数,那么就执行新类的构造函数。没什么说的。
3.在子类中想应用父类的方法,解决方法有两种 parent::方法() 或 $this->方法() 。建议使用前一种方法,因为后一种方法容易造成子类与父类方法结构上不清。
class A {
function A() {
echo "吃";
}
}
class B extends A {
function A () {
parent::A();
}
}
$c1 = new B;//初始化 在这里会执行父类的一个方法
4.如果一个子类中的方法与父类同名,那么 parent::方法() 调用的是父类的方法,而 $this->方法() 调用的是子类的方法。
<?
//父类
class a{
function echo_it(){
echo '我是父类的方法';
}
}
//子类
class b extends a{
function echo_it(){
echo "我是子类的方法";
}
function echo_b(){
parent::echo_it();
$this->echo_it();
}
}
$b = new b();
$b->echo_b();
?>
5.对于父类的属性的引用方法是:$this->属性。属性是不能区别是父类还是子类的。
好了今天就说这么多,有问题大家多交流~