面向对象的基本概念
面向对象编程(OOP:Object-Oriented Programming)
面向对象编程思想实际上就是运用对象,类,继承,多态,封装,聚合,关联,消息,等概念来构造系统的软件开发方法。
抽象(abstract):
从事务中舍弃个别的非本质特征,抽取共同的本质特征
只考虑与问题域相关的信息,而忽略与问题域不相关的部分
对象(Object):是系统中用来描述客观事物的一个实体。
类(class):类是一组具有相同属性和行为的对象的抽象,类的作用用来创建对象,对象是类的一个实例。
封装(encapsulation):
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。
优点:1)降低了对象间的耦合度
2)提高了代码的可用性和可维护性
3)体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据
继承(inheritance):
也称泛化,继承是子类自动共享父类属性和方法的机制,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入新的内容。
是类之间的一种关系,一般与特殊类之间的关系
多态(polymrophism):
指同一个命名可具有不同的语义
OO方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,对于子类,可用不同的方法替代实现父类的服务的方法。