首页 > 代码库 > 面向对象程序设计介绍以及面向对象的基本特征

面向对象程序设计介绍以及面向对象的基本特征


  面向对象的程序设计(Object Oriented Programming,OOP)方法是目前比较流行的程序设计方法,和面向过程的程序设计比,它更符合人类的自然思维方式。在面向过程程序设计中,程序=数据+算法,数据和对数据的操作是分离的,如果要对数据进行操作,需要把数据传递到特定的过程或函数中。而在面向对象程序设计中,程序=对象+消息,它把数据和对数据的操作封装在一个独立的数据结构中,该数据结构称作对象,对象之间通过消息的传递来进行相互作用。由于面向对象本身固有的特性,使得面向对象程序设计已经达到软件工程的三个主要目标:重用性、灵活性和可扩展性。


面向对象的基本特征

  面向对象技术具有3大基本特征是:封装性、继承性和多态性。

  1.封装性

    封装性就是把对象的属性和方法结合成一个独立的单位,并尽可能隐蔽对象的内部细节,即1.把对象的全部属性和方法结合在一起,形成一个不可分割的独立单位(类或对象);2.信息隐蔽,对象的使用者只是通过预先定义的接口关联到某一对象的行为和数据,而无须知道其内部细节。

  封装的结果使对象以外的部分不能随意存取对象的内部数据,从而有效的避免了外部错误对它的影响,是错误局部化,大大减小了查错和排错的难度。

  2.继承性

    继承的本质是在已有的类的基础上进行扩充或改造,得到新的数据类型,以满足新的需要。它是存在于面向对象程序中的两个类之间的一种关系。当一个类A能够获取另一个类B中所有非私有的成员属性和行为时,就称这两个类之间具有继承关系。被继承的类B成为父类或超类(superclass)继承了父类或超类的属性和行为的类A成为子类(subclass)。在java面向对象程序设计中,一个父类可以同时拥有多个子类,每一个子类是父类的特殊化。

    使用继承的好处是对于相同的部分的属性和行为只需编写一次,这样可以降低代码编写中的冗余度,更好的实现代码的复用功能,从而提高效率,由于降低了代码的冗余度,从而使得程序的维护非常方便。

  3.多态性

    多态性一般是指在父类中定义的方法被子类继承后,可以表现出不同的行为。这使得同一个方法在父类及其各个子类中具有不同的语义。


 

面向对象程序设计介绍以及面向对象的基本特征