声明一个类,默认限定是public 语法 class name{} 在class内声明变量 语法 class name{ var $a;} 在class内声明方法 语法 class name{ var $a;function fun(){}} 如果想使用class内的变量和方法,首先必须要实
声明一个类,默认限定是public
语法 class name{ }
在class内声明变量
语法 class name{ var $a; }
在class内声明方法
语法 class name{ var $a; function fun(){ } }
如果想使用class内的变量和方法,首先必须要实例化这个类,用new关键字进行实例化,
实例化后的则是一个对象,此时才可以内部变量和方法的使用
aname=new name();
想要使用变量和方法,用符号->
aname->a;
aname->fun;
重写(继承)
方法btest继承方法atest,则btest会得到atest中的变量和方法,当然,也可以重新定义变量和方法,就叫做重写
<?php class atest{ function a() { echo "haha"; } } class btest extends atest { } $test=new btest(); $test->a(); //haha
在一个类中,如果使用了static定义变量和方法,则不需要再实例化去调用,可以直接在本类中使用self::进行调用,在外部使用::直接输出
在当前类中调用,普通方法和变量使用$this->,静态变量和方法使用self::
class atest
{ public static $a="haha"; public static function b()
{ echo "你在".self::$a; } } echo atest::$a."<br>"; //haha echo atest::b(); //你在haha
如果要在子类中调用父类的静态方法和变量 使用parent::来调用
class atest{ public static function a() { echo "123"; } } class btest extends atest { function test(){ echo parent::a(); } } $fun=new btest(); echo $fun->test(); //123
构造函数不需要声明限制条件 , 在实例化类的时候,自动运行 使用__construct
析构函数同样不需要声明限制条件,是调用完对象以后,自动执行 使用__destruct
接口 声明关键字 interface 使用关键字 implemtns ,方法需要都是公共的public
接口类不需要实现具体的方法功能
使用接口的类,需要实现接口中所有的方法