在开始之前,先介绍一些面向对象开发的概念,略枯燥,但重要。
对象:对象是一些变量和方法都聚集在一起的实体。开发中可调用对象实例,而不是调用变量或方法。在一个对象中有属性和方法,功能在方法中,属性是对象的信息。
类:类相当于蓝图,它可以称为对象的模板。它描述如何创建一组代码,定义如何将一个对象的行为和相互影响或者如何使用它。当每次创建一个PHP对象时,实际上是调用了类。所以有时我会在文中将类和对象放在一起说,因为它们都是同义词。
属性:一个属性是类中一个内部变量,可以保留一些信息的容器。不像其他的语言,PHP不会检查属性变量的类型。属性可以在类本身、子类,或调用之处。从本质上讲,属性是指在类本身,而不是在这个类中的任何方法中声明的变量。
方法:方法是在一个类中的函数。和属性类似,方法也按访问等级分为3个类型。
封装:封装是面向对象结合在一起的机制、代码和操纵数据,并防止外界干扰和误用。包装好的数据和方法到一个类作为封装。封装之后,我们不用担心执行的任务没在里面。
多态性:对象可以是任何类型。一个离散的对象可以有属性和方法,离散的工作分别到其他对象。一组对象可以来自父类或保留父类的一部分属性,这个过程被称为多态性。一个对象可以演变为保留其行为的其他派生对象。
传承:通过扩展派生一个对象成为一个新对象的过程称为继承。当你从另一个对象继承时,子类(即继承)派生的所有属性和方法的超类(这是继承)。子类可以沿用各种父类方法。
耦合:耦合是类如何彼此依赖的行为。松耦合比紧耦合的对象更容易重用。在下一章我们将了解耦合的细节。耦合是面向对象开发中很重要的问题。
设计模式:面向对象编程的技巧,用更聪明的办法解决类似的问题集合。使用设计模式(Design Patten)可以让你用最少的代码开发最好性能的应用程序。有时设计不佳导致问题,可以使用设计模式解决方案来优化。但是,不必要和无计划的使用设计模式也会降低应用性能。
子类:一个面向对象开发中很常见的名词,在本书中我们使用这个词。当一个对象从另一个对象派生,派生一个新类,这称为子类。
父类:如果对象是从它派生的,这个类就称为超类或父类。为了保持简单,当你扩展一个对象,则该对象是一个新扩展对象的父类。
实例:当你创建一个对象时,通过调用其构造函数,它会被称为一个实例。只要写如$v=new$object的表达式,就能创建类的实例对象。