介绍
类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称。
类:包含2个方面
外观,形状,描述,数据。。。。。属性
行为,动作,功能。。。。。。。。方法。
对象:是指一个具体的“物体”,该物体隶属于某个“类别”(类)。
对象是类的实例化表现
语法形式
定义变量;
定义函数;
使用变量(输出,赋值,等)
调用函数;
流程控制(if,switch,for,while等)
1,定义类;定义类的语法中,只有这3种代码:
1.1定义属性(变量)
1.2定义方法(函数)
1.3定义常量(类常量)
2,创建类的对象;
变量 = new 类名();
3,使用对象;
3.1使用其属性:因为属性就是“变量”,则使用其属性,也就是跟以前使用变量一样。
3.2使用其方法:因为方法就是“函数”,则使用其方法,也就是跟以前使用函数一样。
3.3使用其常量:类似使用以前的普通常量。
对象创建的基本形式(常用)
$对象名1 = new 类名(); //对象名就是变量名;类是应该定义过了
$对象名3 = new self; //self指代类本身,这行代码只能在类内部方法中使用。
值传递
class P{
var $v1 = 10;
}
$p1 = new P(); //也可以写成$p1 = new P;
$p2 = $p1; //这是值传递
$p1->v1 = 20; //修改对象$p1
echo "<br />p1->v1 为:" . $p1->v1;
echo "<br />p2->v1 为:" . $p2->v1;
关键字$this
代表当前所属类的当前对象
静态属性(static)
class a{
static $v=10; //静态属性
}
静态属性的使用 ::(双冒号语法,也叫范围解释符)
类::$静态属性名;
静态方法(static):同理静态属性
注意1:$this在静态方法中不能使用
2:静态方法中不应调用非静态方法
关键字self
含义:代表当前类
使用:通常只能在某个类的某个方法内部代表该类的名称。
构造方法
该方法名字是固定的,为:__construct();
注:该方法必须是普通方法(不能是静态方法)
如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配
方法调用(类似于页面加载完成)
当new 类名()的时候,其实是在调用该构造方法
析构方法(于构造方法相反)
析构方法是“销毁”对象的时候会自动调用。
调用:在页面结束时自动调用
继承:一个类从另一个已有的类获得其特性,称为继承 (子承父)(单继承)
派生:从一个已有的类产生一个新的类,称为派生(父生子)
访问权限
public:公共的,共有的,公开的(可以在类,继承,类外使用)
protected:受保护的(可以在类,继承使用)
private:私有的(只可以在类使用)
父类:
parent代表父类