背景知识 类:(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。实际上它本身并不是对象,因为它不存在于内存中。当引用类的代码运行时,类的一个新的实例,即对象,就在内存中创建了。虽然只有一个类,但能从这个类在内存中创建多个相同类型的对象。
可以把类看作“理论上”的对象,也就是说,它为对象提供蓝图,但在内存中并不存在。从这个蓝图可以创建任何数量的对象。从类创建的所有对象都有相同的成员:属性、方法和事件。但是,每个对象都象一个独立的实体一样动作。例如,一个对象的属性可以设置成与同类型的其他对象不同的值。
面向对象
面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。 它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
设计图
为了构建交通工具我们需要一份设计图。这份设计图可以定义交通工具的车轮的数量、颜色等等。一种交通工具通过一定的属性和行为来定义。在PHP中这些属性和行为就叫做变量和方法(函数)。描述一个对象的一组变量和方法就构成了一个“类”。
扩展的设计图
因为有各种不同类型的交通工具,比如汽车、自行车和摩托车。我们需要一种方法,它可以让我们为各种交通工具增加新功能的同时也可以使用交通工具的一般性的方法,换句话说,因为“履带”要用在所有类型的交通工具上面,我们不需要再重新编写这种方法。我们能够“继承”来完成这个功能。假如我们创建一个从“交通工具”继承过来的“汽车”的类,所有在“交通工具”类中的方法将被“汽车”类继承。
抽象
抽象的目的只关注于一个复杂对象的部分性质,为了解决你的问题需要你去构建一个考究的对象。你可以很容易的得到一辆汽车成千上万的属性,但是如果你需要设计一个程序去保存一个汽车经销商的目录,那么你应该只需要一个包含10多个属性的子集。这样一辆汽车被抽象成一个适合编程使用的汽车对象. |