OO方法(Object-OrientedMethod,面向对象方法)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学。
对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。
所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
面向对象方法作为一种新型的独具优越性的新方法正引起全世界越来越广泛的关注和高度的重视,它被誉为"研究高技术的好方法",更是当前计算机界关心的重点。
一、封装,封装是对象和类概念的主要特性。
- 隐藏内部实现,稳定外部接口。把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
- 好处:使用更简单变量更安全可以隐藏内部实现细节开发速度加快
二、继承,面向对象编程(OOP)语言的一个主要功能就是“继承”。
- 继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展
- 继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。
- 继承的过程,就是从一般到特殊的过程。在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。
三、多态
多态性(一个借口多个实现)是允许将子类类型的指针赋值给父类类型的指针。不同对象以自己的方式响应相同的消息的能力叫做多态。意思就是假设生物类(life)都用有一个相同的方法-eat;那人类属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用是我们只需调用各自的eat方法。也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。
多态实现的两种方式:
- 重写:是指子类重新定义父类的虚函数的做法
- 重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)
小结:
- 封装可隐藏实现细节,使代码模块化
- 继承可扩展已存在的代码模块(类),它们最终需要的结果(代码重用)。
- 多态是为了实现另一个目的(接口重用)。多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。