php面向对象程序设计
2021-06-06 13:05
具体理解什么是类什么是对象
一个类最为突出的特性,或区别于其他类是你能给它提出什么样的请求,它能为你完成那些操作。例如,你去中关村电子城想买几台组装的PC,你首先要做的事是什么?是装机的工程师和你坐在一起,按你的需求和你一起完成一个装机的配置单。可以把这个配置单看做是一个类,也可以说是自定义的一个类型,它记录了你要买的PC的类型,如果按这个配置单组装10台PC出来,这10台机子就可以说是同一个类型的,也可以说是一类的。
那么什么是对象呢?类的实例化结果就是对象,按PC的配置单组装出来的PC就是对象,是我们可以操作的实体。组装10台PC,就创建了10个对象,每台PC都是独立的,只能说明他们是按同一类型配置的,对其中一个PC做任何动作都不会影响其他9台机器。但是如果对类进行修改,也就是在这个PC的配置单上加一个或少一个配件,那么组装出来的10个机子都被改变。
类其实就像我们现实世界将食物分类一样,由车类,所有的车都归属于这个类,例如,奔驰车、宝马车都属于车类中的一种;由人类,所有的人都归属于这个类,例如中国人、美国人、工人、学生等都属于人类中的一种;有球类,所有的球都归属这个类,例如篮球、足球、排球等。在程序设计中也需要将一些相关的变量定义和函数的声明归类,形成一个自定义的类型。通过这个类型可以创建多个实体,一个实体就是一个对象,每个对象都具有该类中定义的内容特性。
面向对象的程序设计
在早期的PHP4中,面向对象功能很不完善,所以程序设计人员几乎采用的都是过程化的模块编程,程序的基本单位就是有函数组成的。而PHP5版本的发布,标志着一个全新的PHP时代的到来,它的最大特点就是引入了面向对象的全部机制,并且保留了向下的兼容性。开发人员不必再编写缺乏功能性的类,并且能够以多种方式实现类的保护。程序设计人员在设计程序时,就可用以对象为程序的基本单位。
在面向对象的程序设计中,初学者比较难理解的并不是面向对象程序设计中用到的基本语法,而是如何使用面向对象的模式思想去设计程序。例如,一个项目要用到多少个类?定义什么样的类?每个类在什么时候创建对象?哪里能用到对象?对象和对象之间的关系,以及对象之间如何传递信息等。
假设有这样一个项目,某大学需要建立5个多媒体教室,每个教室可以供50名学生使用。如果把这个项目交给你来完成,你该怎么做?是不是首先需要5个房间,每个房间里面摆放50张计算机桌和50把椅子,然后需要购买50台计算机、1个白板和1个投影机等?这些是什么?能看到的这些实体就是对象,也可以说是这些多媒体教室的组成单位。多媒体教室需要的东西都知道了,怎么去准备呢?就要对所有需要的东西进行分类,可以分成房间类、桌子类、椅子类、计算机类、白板类和投影机类等。然后定义每个类别的详细信息,例如,房间类里面需要定义它的面积、桌子数量、就算几数量和椅子数量等,按这个房间类的设计就可以建立5个房间对象作为教室。桌子类需要定义它的长、宽、高以及颜色,那么通过桌子类声场的所有桌子就都是一样的类型。做一个计算机类,列出需要的计算机详细配置,这样购买的计算机就都属于这个类型了。以此类推,每个对象都可以这样准备,把这些创建完成的对象都放到各自的教室中,再由学生对象的使用就可以将多个对象关联到一起了。
上一篇:网站架构演化