php之类,对象(二)继承性,static静态的,const常量
三大特性 之二 继承性:
1.概念:如果一个类有子类,那么该子类会继承父类的一切东西,但私有成员访问不到。
2.在定义子类时需要加关键字:extends
class Text extends Info
{
}
3.特点:单继承。一个类只能有一个父类(类似于一个儿子只能有一个父亲),一个父类可以有多个子类(父亲可以有多个儿子)
4.如果父类中有构造函数,子类在实例化的时候要按照父类构造函数的标准来实现
class Info
{
public $code;
public $name;
public $sex;
function __construct($s)
{
$this->sex=$s;
}
}
class Text etends Info
{
}
$t=new Text();
$t->$code="p001";
5.子类与父类中有相同的方法(function),在子类中可以直接写相同的方法,叫做子类的重写。父类中的方法会被覆盖,只显示子类中的
若也想保存父类的方法不被覆盖,可加关键字"parent::",parent只能在子类中使用。
6.final 关键字:用来修饰类,代表该类是最终类。最终类不能被继承。
static 静态成员:
1.类里面的普通成员是属于对象的,不是属于类的,在调用时是用对象来调用。
什么叫静态成员,静态成员是属于类的,不是属于每个对象的
2.定义静态成员用关键字static修饰 :public static $class
3.访问静态成员用双冒号:Info::$class="0305";
4.定义静态方法:static function Text()
{
}
调用静态方法: Info::Text();
5.静态方法里无法调用普通成员,可使用self调用静态成员。self代表该类,$this代表该对象。
static function Text()
{
echo self::$class;
}
6.普通方法里可以调用静态成员
function Say()
{
echo self::$class;
}
定义常量:const
class Info
{
const π=3.1415926;
}
将类里面经常用到的东西定义为常量,方便使用,只在类里面使用。