interface接口的定义与规范
接口(interface)是抽象方法和静态常量定义的凑集。
接口是一种分外的抽象类,这种抽象类中只包含抽象方法和静态常量。
接口中没有其它类型的内容。
接口中的抽象方法,在接口中只能有抽象方法
接口中抽象方法的润色和访问权限
在接口中的抽象方法只能是 public 的,默认也是 public 权限。并且不能设置成 private 或者 protected 类型。
实现接口
类实现接口要利用 implements 。
类实现接口要实现个中的抽象方法。
一个类可以实现多个接口。
大部分的书说,这样是为了实现 PHP 的多继续。为什么呢? PHP5 是单继续的,一个类只可以继续自一个父类。接口可以实现多个,这样便是多继续了。
实现多个接口
一个类可以实现多个接口。只要利用 , 号将多个接口链接起来就可以。
class Admin implements User, Administrator {}
接口的继续
一个接口可以继续自其余的接口。
PHP5 中的类是单继续,但是接口很分外。 一个接口可以继续自多个接口。
一个接口继续其它接口时候,直接继续父接口的静态常量属性和抽象方法。
在 PHP5 中,接口是可以继续自其余一个接口的。这样代码的重用更有效了。
要把稳只有接口和接口之间利用继续关键字 extends。
类实现接口必须实现其抽象方法,利用实现关键字 implements。
原始类型的类型判断
PHP 中供应了一些函数,来判断数值的类型。我们可利用 is_numeric()。判断是否是一
个数值或者可转换为数值的字符串。
其它干系的还有 is_bool()、 is_int()、 is_float()、 is_integer()、 is_numeric()、 is_string()、
is_array() 和 is_object()。
类型提示保障数据安全
为了避免工具类型不规范引起的问题, PHP5 中引入了类型提示这个观点。
在定义方法参数时,同时定义参数的工具类型。
如果在调用的时候,传入参数的类型不对会报错。这样担保了数据的安全性。
建议在定义方法参数时,要利用类型提示。
如果类型不是工具,要采代替码进行类型建议,以增强安全性。
PHP5 中的多态
多态这个观点,在 Java 中指的是变量可以指向的工具的类型,可是变量声明类型的子类。工具一旦创建,它的类型是不变的,多态的是变量。
在 PHP5 中,变量的类型是不愿定的,一个变量可以指向任何类型的数值、字符串、工具、资源等。我们无法说 PHP5 中多态的是变量。
我们只能说在 PHP5 中,多态运用在方法参数的类型提示位置。
一个类的任何子类工具都可以知足以当前类型作为类型提示的类型哀求。
所有实现这个接口的类,都可以知足以接口类型作为类型提示的方法参数哀求。
大略的说,一个类拥有其父类、和已实现接口的身份。
instanceof 运算符
在 PHP5 中,通过方法通报变量的类型有不愿定性。
于是我们很难判断,一些操作是否可以运行。
利用 instanceof 运算符,可以判断当前实例是否可以有这样的一个形态。
当前实例利用 instanceof 与当前类,父类(向上无限追溯),已经实现的接口比较时,返回真。
代码格式 实例名 instanceof 类名
大略工厂模式
大略工厂模式是一种比较大略的设计模式,也是我们常用的设计模式。
利用大略工厂模式,能够根据不同的参数,利用不同的工厂,创建不同的工具。
大略工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。
大略工厂模式是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例。
大家如果乐意学习的,可以自己写一些代码来深入理解php的面向工具。