PHP面向对象简单理解使用
14.2.1 类的定义
和很多面向对象的语言一样,PHP 也是通过 class 关键字加类名来定义类的。类的格式如下:
<?php class SportObject{ //定义运动类 //... } ?>
14.2.2 成员方法
类中的函数被称为成员方法。函数和成员方法唯一的区别就是,函数实现的是某个独立的功能,而成员方法是实现类中的一个行动,是类的一部分。
14.2.3 类的实例化
要使用类的方法,首先要对类进行实例化,实例化是通过关键字 new 来声明一个对象。
(1),类的实例化:$sport = new SportObject(); (2),调用要使用的方法:“对象名 -> 成员方法”。
14.2.4 成员变量
类中的变量,也称为成员变量(也有称为属性或字段的)。成员变量用来保存信息数据,或与成员方法进行交互来实现某项功能。
(1),定义成员变量的格式为: 关键字 成员变量名。
(2),访问成员变量和访问成员方法是一样的。只要把成员方法换成成员变量即可,格式为:对象名 -> 成员变量。
14.2.5 类常量
既然有变量,当然也会有常量。常量就是不会改变的值,是一个恒值。圆周率是众所周知的一个常量。定义常量使用关键字 const,如:const PI = 3.14159;
常量的输出和变量的输出是不一样的。常量不需要实例化对象,直接由“类名+常量名”调用即可。常量输出的格式为:类名::常量名
说明:类名和常量名之间的两个冒号“::”称为作用域操作符,使用这个操作符可以在不创建对象的情况下调用类中的常量、变量和方法。
14.2.6 构造方法和析构方法
1,构造方法:构造方法是生成对象是自动执行的成员方法,作用就是初始化对象。该方法可以没有参数,也可以有多个参数。构造方法的格式如下:void __construct([mixed args[,...]])
说明:构造方法是初始化对象时使用的。如果类中没有构造方法,那么 PHP 会自动生成一个。自动生成的构造方法没有任何参数,没有任何操作。
2,析构方法:析构方法的作用和构造方法正好相反,是对象被销毁时被调用的,作用是释放内存。析构方法的格式为:void __destruct(void)
说明:PHP 使用的是一种“垃圾回收”机制,自动清除不再使用的对象,释放内存。就是说即使不使用 unset 函数,析构方法也会自动被调用,这里只是明确一下析构函数在何时被调用。一般情况下不需要手动创建析构方法的。
14.2.8 “this -> ”和“::”的使用
1.$this->:$this -> 作用是调用本类中的成员变量或成员方法,注意:无论是使用“this->”还是使用“对象名->”的格式,后面的变量是没有 $ 符号的,如 $this->beatBasketBall。这是一个出错机率很高的错误。对如何调用成员方法有了基本的了解,哪就是对象名加方法名,格式为“对象名->方法名”。但在定义类时(如SportObject类),根本无法得知对象的名称是什么。这时如果想调用类中的方法,就要用伪变量 $this->。$this 的意思就是本身,所以 $this-> 只可以在类的内部使用。
2. 操作符“::”:相比伪变量 $this 只能在类的内部使用,操作符“::”更为强大。操作符“::”可以在没有任何声明任何实例的情况下访问类中的成员方法或成员变量。使用“::”操作符的通用格式为:关键字::变量名/常量名/方法名。