PHP的面向对象:
声明类: 访问权限关键字 class 类名{
成员属性: 访问权限关键字 $属性名;
成员方法: 访问权限关键字 function 方法名(){}
构造方法:function __construction($参数){}
析构函数:fuction __destruct(){}//这个函数是在销毁对象的之前可以执行一些操作或完成一些功能,也就是对象被销毁,这个函数自动被调用
}//修饰类的访问权限关键字默认为public,属性不能省略访问权限关键字,不用定义属性类型
创建对象:$对象名=new 类名();
给属性赋值:$对象名->属性名=值;
$this的用法:是指调用本类里面同名的成员
格式:$this->name;//这个name不能用'$'符号
简单的例子:
<?php
class Practice
{
public $name;
public function intro(){
echo 'nice to meet you!'.$this->name;
}
}
$Law=new Practice();
$Law->name='lawrence';
echo 'hello,my name is'.$Law->name;
$Law->intro();
访问权限关键字:
public:在类的内部和外部都可以访问
private:只能在类的内部访问,private定义的成员不会被继承
protected:可以在类的内部访问,也可以在子类中访问到
抽象类:abstract class 类名{
}//里面可以定义抽象方法和普通方法,抽象方法一定要被子类覆盖,普通方法会被继承,但通常不需要实现
接口类:interface 类名{
}//里面成员必须由public修饰,并且里面不能声明变量,只能声明常量并且由const声明,里面还可以声明方法,里面默认public
静态成员:public static $属性名;//所有对象共享同一个静态变量的,并且它不会被实例化到对象中的
访问静态成员的语法:类名::$属性名 类名::方法名()
被final修饰的成员是不能被继承的
clone关键字:为对象创建一个副本,但两个对象并不指向同一个地址.
__call()函数:用于对象访问的函数不存在或者没有足够的访问权限的时候会自动被调用.
格式:权限访问关键字 function __call($funcname,$val){}
__callStatic()函数是专门针对静态函数的.