14.1 面向对象的基本概念
视频讲解:光盘TMlx14面向对象的基本概念.exe
这里所指的面向对象,准确地说应该叫作面向对象编程(OOP),是面向对象的一部分。面向对象包括3个部分:面向对象分析(Object Oriented Analysis, OOA)、面向对象设计(Object Oriented Design, OOD),以及面向对象编程(Object Oriented Programming, OOP)。面向对象编程的两个重点概念是类和对象。
14.1.1 类
世间万物都具有其自身的属性和方法,通过这些属性和方法可以将不同物质区分开来。例如,人具有身高、体重和肤色等属性,还可以进行吃饭、学习、走路等能动活动,这些活动可以说是人具有的功能。可以把人看作程序中的一个类,那么人的身高可以看作类中的属性,走路可以看作类中的方法。也就是说,类是属性和方法的集合,是面向对象编程方式的核心和基础,通过类可以将零散的用于实现某项功能的代码进行有效管理。例如,创建一个运动类,包括5个属性:姓名、身高、体重、年龄和性别,定义4个方法:踢足球、打篮球、举重和跳高,如图14.1所示。
图14.1 运动类
14.1.2 对象
类只是具备某项功能的抽象模型,实际应用中还需要对类进行实例化,这样就引入了对象的概念。对象是类进行实例化后的产物,是一个实体。仍然以人为例,“黄种人是人”这句话没有错误,但反过来说“人是黄种人”这句话一定是错误的。因为除了有黄种人,还有黑人、白人等。那么“黄种人”就是“人”这个类的一个实例对象。可以这样理解对象和类的关系:对象实际上就是“有血有肉的,能摸得到、看得到的”一个类。
这里实例化14.1.1节中创建的运动类,调用运动类中的打篮球方法,判断提交的实例对象是否符合打篮球的条件,如图14.2所示。
图14.2 实例化对象
这里根据实例化对象,调用打篮球方法,并向其中传递参数(明日,185厘米,80公斤,20周岁,男),在打篮球方法中判断这个对象是否符合打篮球的条件。
14.1.3 面向对象编程的三大特点
面向对象编程的三大特点就是封装性、继承性和多态性。
1.封装性
封装性,也可以称为信息隐藏,就是将一个类的使用和实现分开,只保留有限的接口(方法)与外部联系。对于用到该类的开发人员,只要知道这个类该如何使用即可,而不用去关心这个类是如何实现的。这样做可以让开发人员更多地把精力集中起来专注别的事情,同时也避免了程序之间的相互依赖而带来不便。
2.继承性
继承性就是派生类(子类)自动继承一个或多个基类(父类)中的属性与方法,并可以重写或添加新的属性或方法。继承这个特性简化了对象和类的创建,增加了代码的可重用性。继承分单继承和多继承,PHP所支持的是单继承,也就是说,一个子类有且只有一个父类。
3.多态性
多态性是指同一个类的不同对象,使用同一个方法可以获得不同的结果,这种技术称为多态性。多态性增强了软件的灵活性和重用性。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。