面向对象程序设计思想简述

对象:

  • 在现实世界中是一个实体或者一个事物的概念,可以看作是一种具有自身属性和功能的构件。
  • 不关心其内部结构及实现方法,仅仅关心它的功能和它的使用方法,也就是该对象提供给用户的接口。
  • 类似于电视机这个对象,用户只关心如何通过按钮来使用它,这些按钮就是电视机提供给用户的接口。不关心电视机的内部结构或其实现原理。
  • 对象将其属性和操作的一部分对外界开放,作为对外接口,将大部分实现细节封装起来,这是对象的封装性。外界只能通过对象提供的接口来与对象交互。
  • 一个系统由多个对象组成,复杂的对象可由简单对象组成,称为聚合。对象之间的相互作用(通信)构成了软件系统的结构。

类:

  • 同样类型对象的抽象描述
  • 对象是类的实例(具体化)
  • 对相关类进行分析,抽取其共有的特点形成基类。
  • 通过继承,派生类可以包含基类的所有属性和操作,增加属于自己的一些特性。通过继承还可以将原来一个个孤立的类联系起来,形成层次清晰的结构关系,形成类族。

综上,面向对象的方法就是利用抽象、封装等机制,借助于对象、类、继承、消息传递等概念进行软件系统构造的软件开发方法。

抽象

  • 面向对象方法的核心
  • 数据抽象:为程序员提供了对对象属性和状态的描述
  • 行为抽象:对这些数据所需要的操作的抽象

封装

  • 将一个事物包装起来,不让外界了解它的详细内情
  • 有效实现了两个目标:对数据和行为的包装和信息隐藏

继承

  • 软件复用的一种方式,通过继承,一个对象可以获得另一个对象的属性,并且可以加入属于自己的一些特性。
  • 继承使得原本孤立的类有效组织起来,形成层次结构关系。
  • 通过继承可复用已有的类,将开发好的类作为构建放入构件库中可供以后开发时直接使用或继承(生成特殊类)。

多态

  • 多态性:一个接口,多种方式
  • 多态意味着同一属性或操作在一般类和特殊类中具有不同的语意
  • 举例:绘图时声明一个基类“几何图形”,在该类中定义一个“绘图的行为”,并定义该类的派生类“直线”、“椭圆”、“多边形”等,这些类都继承了基类中的“绘图”行为。基类中未定义具体的绘图方法,而是在各派生类当中根据需要对“绘图”重新定义。这样,当不同对象发出同一“绘图”命令时,各对象调用自己的“绘图”程序实现,绘制出不同的图形。

猜你喜欢

转载自blog.csdn.net/michaelzzk/article/details/78622461