1.首先,使用类必须要先了解类是什么

一些专业术语

类:是一种抽象的概念,是具有相同对象属性的集合(相似的数据和数据操作的封装 class),使用具体的类是不可行的,只能实例化。

对象:类的特例或者实例(一般用new来实例化一个对象)

成员变量:普通的变量加上了修饰符就是成员变量(如public,static,,private,protected)

成员方法:普通的函数加上了一个修饰符就是成员方法

实例化:类创建特例的过程(实例化一个对象 new)

2.创建类的步骤

使用class关键字创建

语法格式

[修饰符]class 类名{

  成员变量;

  成员方法;

}

类命名规范:

类名只能使用字母,下划线开头,不能以数字开头

类名不能使用关键字

类名不区分大小写,但是要使用驼峰法的写法

类名一定有意义

3.实例化类(new一个新对象)

对象变量 = new 类名;

对象变量 = new 类名();

对象变量: 普通的变量,只不过他的类型是对象类型

Eg:

$object = new myClass;

$object = new myClass();

判断是否是对像:两种方法

①.is_object(对像名) 是返回true 否返回false

②.instanceof:判断对象是否是哪个类的实例化 前面是对象名 后面是类名 eg:$obj instanceof myclass

注意:声明类的时候类名后面没有(),区别函数

4.成员变量

普通的变量放入到类中就变成了成员量(类的属性),使用修饰符public

定义格式:

修饰符 变量名="值";

public $name="lingjun";

类外的使用

echo 对象名->变量名(没有$);

类内的使用

$this->变量名(没有$);

$this:对象本身

注意:当定义一个类的新对象时,该对像的属性与前一个该类的对象的属性无关,这叫做对象的无关性

5.成员方法

定义:使用修饰符public将普通的函数放到类中就是成员方法,

格式:修饰符function 方法名(参数){

  返回值

}

eg:public function show(){

  echo "hello";

}

类外的使用:

对象->方法名;(不用echo,因为是函数,可以直接输出)

类内的使用

$this->方法名;

6.类常量

关键字:define,const

define不能在类里面定义常量,const可以

格式:define(常量名(大写),值) const 大写的常量名=值

类外的使用

echo 类名::常量名;

类内的使用

echo self::常量名; (self代表类本身,::代表域操作符)

7.魔术方法-构造函数:__construct()

概念:类初始化对象时系统自动调用的函数 __construct()

 

功能: 初始化对象运行时,所必须的数据(成员变量) 初始化运行时,所必须的前提操作(成员方法)

调用者: 系统自动调用(实例化对象时自动调用)

调用时间: 对象初始化流程

实例化对象时产生的过程

分配类的对象所必须的变量空间分配

类常量,变量空间分配

调用构造函数

初始化类运行时,必须数据

Php4: 方法名和类名相同,他就认为是一个构造函数

注意

如果类中没有定义构造函数,系统会自动的调用一个空的构造函数

如果php4中构造函数和php5构造函数,同时存在,那么php4中的构造函数不起作用,优先执行php5中的构造函数

如果构造函数中有形参,且不是默认参数,那么初始化对象时,必须具有(),并且里面传入相对应的实参数据.

构造函数在其他语言中直接不允许有返回值,但是php语言中语法中允许有返回值,但是返回的数据没有任何意思,且无法得到。

普通的成员方法和构造方法区别:

普通方法是用户使用类的对象调用的,而构造函数,是用户初始化对象时,系统自动调用

普通的方法如果方法名和类名相同,就变成了构造函数。

普通方法实参是调用方法时赋值的,而构造函数是初始化对象时,写到小括号内的。

普通方法一般都有返回值,而构造方法没有返回值

8.析构方法

概念:对象被销毁时,系统自动调用的函数

作用: 对象销毁时,销毁一些不必要的变量,系统出错时,销毁数据和错误检查,清理一些程序使用过程中占用的资源,以保证程序运行过程中不会始终占用资源

方法: __destruct() : 没有参数,没有返回值

销毁对象: 人工销毁对象 对象 = null; unset(对象);

系统销毁:系统会在页面加载完毕后,不使用该对象时,自动销毁

注意:构造和析构函数在封装的时候是没有必要加修饰符的,因为他们都是被系统自动调用的。

posted on 2017-10-09 20:37  顾君临  阅读(205)  评论(0)    收藏  举报