实例化类产生对象。
class fenbi
{
//普通成员,属于对象
public $length = "10cm";
//静态成员,静态变量,属于类。
public static $color;
//普通方法可以调用静态成员,类里面用self调用
function hua(){
echo $this->length;
echo self::$color;
}
//静态方法不能调用普通成员,普通方法可以调用静态成员。
static function hua2(){
echo self::$color;
}
}
总结:普通方法可以调用静态成员,在类里面用self调用,
静态方法不能调用普通成员。
敬爱成员调用方法:用 类名::
//实例化对象调用普通成员
$fb = new fenbi();
$fb->hua();
echo "<br>";
//使用类名+::调用静态成员
fenbi::$color = "red";
fenbi::hua2();
echo "<br>";
$fb2 = new fenbi();
$fb2->hua();
//抽象类关键词:abstract
//特点:不能被实例化,只能被继承
//目的:为了派生子类,控制子类
//用于写基类
abstract class Ren
{
public $name;
function speak(){
echo "正在说话";
}
}
//$chinese = new Ren();这是错误的,不能这样,不能被实例化;
class chinese extends Ren{
}
//接口
//极度抽象的类
//接口里面不能包含成员变量,只能包含成员方法
//成员方法没有函数体
//接口关键字:interface 命名大写I开头
//接口必须实现里面所有的方法
interface Iusb
{
public function read();
public function write();
}
class mouse implements Iusb
{
function read()
{
}
function write()
{
}
}
重点:
//运行多态:
//当父类引用指向子类实例时,
//由于子类里面对父类的方法进行重写
//所以该引用与调用相应方法时,表现出不同状态。