1.定义类
class A{
public $name;
public $age;
public function B($_name){
$this->name=$_name;
} //定义方法
}
创建对象
$a = new A();
赋值
$a->name="小明";
$a->age=12;
输出
echo $a->name;
调用对象中的方法
$a->B();
2.构造方法,没有返回值
(1)public function 类名(){}
(2)public function __construct(){}
注:构造方法在创建对象时就会被自动调用
3.析构函数
function _destruct(){}
注:(1)退出时自动被调用
(2)对象没有被引用变为垃圾对象时,会自动调用该对象的析构方法
(3)用于销毁资源,如关闭数据库
(4)没有返回值
4.静态变量
//定义并初始化方法
public static $a = 0;
//类里调用
(1)self::$a+=1;
(2)::$a+=1;
//类外调用
类名::$a+=1;
5.静态方法(不能访问非静态变量)
static function A(){}
内部调用:
(1)self::A();
(2)类名::A();
外部调用:
(1)类名::A();
(2)对象名->A();
6.封装
public 公有
private 私有,只有本类可使用
protected 本类和子类中可使用
7.继承
class 子类名 extends 父类{}
注:将一些共用属性和方法封装进父类中只会继承父类中的public属性/protected属性
8.抽象类
(1)不能被实例化的类,创建不了对象,如父类
abstract class A{}
(2)抽象方法,没有方法体
abstract function a();
(3)继承了抽象类一定要定义里面的所有抽象方法
9.final关键字
如果不希望某类被继承(安全性问题)
final class A{}
如果希望某方法不被重写
final function a(){}
注:final 关键字不能修饰属性
10.接口
定义接口
interface 接口名{}
注:接口的方法没有方法体
接口中可以有属性,但是必须是常量
实现接口
class 类名 implements 接口1,接口2...{}
注:实现接口,一定要声明里面的所有方法