• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Hánina Chata

为什么不问问神奇海螺呢?
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

期末复习 | 面向对象§笔记摘要

1.1 面向过程与面向对象

随着计算机应用水平在广度和深度上的发展,要解决的问题也越来越复杂,程序设计范式也随之不断发展。面向对象程序设计更符合人类的思维方式,更适合描述复杂领域中的问题。通过运用面向对象程序设计中的封装、继承和多态,不仅可提高编程效率,而且可赋予程序很好的可重用性和可扩展性,从而大幅减少软件的开发维护成本,因此面向对象程序设计长久以来都是程序设计领域的主流技术。C++语言不仅是一种流行的面向对象编程语言,而且对于深入理解面向对象程序设计思想来说也是一种有较好深度的语言。如果掌握了使用C++语言进行面向对象程序设计的方法,那么学习其他面向对象程序设计语言也会容易得多。

1.2 面向对象中的3个重要概念

对象

– 万物皆对象

– 按照哲学观点:

• 静态描述:表示类别属性

• 动态描述:表现行为或具有的功能

– 面向对象程序设计中,对象是用来构成系统的一个基本单位,用来描述客观事物的一个实体:

• 属性:用来描述对象静态特征的数据项。

• 方法:用来描述对象动态特征的操作序列。

在面向对象程序设计中,对象是用户定义了类型的变量,对象间只能通过函数调用(或消息)相互通信,一个对象可以调用另一个对象的公有函数(此时对象执行内部的代码来响应这个调用)或修改其公有属性。

类

– 类间的关系

• “是一个”关系(is-a)

– 意味着有泛化(派生、继承)关系

– 如:一个研究生是一个学生;狗是一种动物;多边形是一种图形……

• “有一个”关系(has-a)

– 意味着有组成关系

– 如:矩形有一个点,表示左上角位置……

消息

– 向对象发出的服务请求就称为消息。

– 是对象间进行通讯的唯一手段。

– 使用对象提供的服务只需了解它的消息模式。

– 用面向对象的方法设计的程序,其执行过程就体现为对象间的消息传递。

– 对象的封装使对象成为各负其责、互不干扰的单位,而消息则为对象提供动态联系的途径,使各类对象组成相互配合的有机整体。

– 消息由三部分组成:接受消息的对象、消息选择符、参数,分别对应于要执行动作的对象、要执行的方法、执行动作需要的输入。

1.3 面向对象程序设计的基本特征

封装

– 将对象的属性和方法形成一个不可分割的整体

– “数据隐藏”,即对象只应保留有限的对外接口,并尽可能隐藏对象内部的具体细节。

– 封装把对象的属性和方法看成了一个密不可分的整体,从而使对象能够完整地描述并对应于一个事物;

– 封装中的数据隐藏反映了事物间的独立性;

– 封装中的数据隐藏反映在软件设计上,意味着对对象的属性进行的修改完全由对象自己负责,这样可有效地避免外部错误对该对象的影响,使软件错误局部化,减少差错方便排错;

– 只要对象的接口不变,则在对象内部的修改就不会影响到系统的其他部分,从而减小了程序修改的工作量及其负面影响。

继承

– 在已有类的基础上增加新特征或新功能而产生出新的类,这称为继承。原有的类称为基类或父类,新类称为派生类或导出类或子类(例如:电子表类是表这个类的派生类)

– 从基类继承来的内容可以在派生类中使用而不需要重新定义,这减少了软件开发的工作量,更好地实现了代码的重用。

多态

– 在一系列派生类中,可能存在一些名称相同、但实现过程和功能不同的方法,此时,不同类的对象接受同一格式的消息时会做出不同的反应,表现出不同的行为,这就是多态。用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大的方便。

• 面向对象程序设计的优点有:设计开发过程有完整的设计方法和理论、可维护性高、软件的质量高、开发效率高、可扩展性高;主要缺点是执行效率比较低。

1.4 程序开发过程

• 源程序:用源语言写的,有待翻译的程序。

• 目标程序:也称为"结果程序",是源程序通过翻译程序加工以后所生成的程序。

• 翻译程序:是指一个把源程序翻译成等价的目标程序的程序。三种不同类型的翻译程序分别如下:

  • 汇编程序:其任务是把用汇编语言写成的源程序,翻译成机器语言形式的目标程序。

  • 编译程序:若源程序是用高级程序设计语言所写,经翻译程序加工生成目标程序,那么,该翻译程序就称为"编译程序"。

  • 解释程序:这也是一种翻译程序,同样是将高级语言源程序翻译成机器指令。它与编译程序不同点就在于它是边翻译边执行的,即输入一句、翻译一句、 执行一句,直至将整个源程序翻译并执行完毕。

程序的开发过程?

  1. 编辑:将源程序输入到计算机中,生成后缀为cpp的磁盘文件。

  2. 编译:将程序的源代码转换为机器语言代码。

  3. 连接:将多个源程序文件以及库中的某些文件连在一起,生成一个后缀为exe的可执行文件。

  4. 运行调试。

1.5 面向对象的软件开发

面向对象的软件工程是面向对象方法在软件工程领域的全面应用,包括:面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)、面向对象的软件维护(OOSM)面向对象的系统分析,直接用问题域中客观存在的事物建立模型中的对象,对单个事物及事物之间的关系,都保留他们的原貌,不做转换,也不打破原有界限而重新组合,因此能够很好地映射客观事物。使用面向对象的方法开发的软件,其程序与问题域是一致的,因此,在维护阶段运用面向对象的方法可以大大提高软件维护的效率。

By @哈娜Official(HanaNováčková:https://www.cnblogs.com/hanina-chata/p/19548598)

posted on 2026-02-01 11:30  HanaNováčková  阅读(4)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3