本节讲解面向对象编程
1、 面向对象方法是一种模拟现实世界的抽象建模方式,用于软件开发,核心思想是将数据与操作封装为对象。
2、 以贴近人类思维的方式构建问题模型,用直观自然的形式呈现解决方案的软件系统。
3、 将数据与操作封装为密不可分的整体,体现相互依赖的特性。
4、 面向对象是对象分类、继承与消息传递的结合。
5、 面向对象是指运用对象、类及继承等机制,对象间通过传递消息进行通信的一种编程方式。
6、 高级语言程序设计涵盖面向过程与面向对象两种编程范式。
7、 面向过程的程序中,数据被多个函数共享且共用,缺乏有效保护,容易被随意访问和修改,数据交叉使用频繁,极易引发程序错误,降低代码的可靠性和维护性。
8、 程序中的每组数据都专为特定操作设计,数据与操作之间存在一一对应关系。
9、 于是,人们设想把数据和操作封装成一个独立的整体,使其与外部相对隔离,这就是面向对象程序设计中的对象概念。
10、 基于对象的程序设计以类和对象为核心,操作围绕对象展开。在此基础上,通过继承机制与多态性,进一步发展为面向对象的程序设计,实现更灵活、可扩展的代码结构。
11、 面向对象编程以对象为核心,数据被封装在各个独立的对象之中,彼此分离且相互关联。
12、 在面向过程的程序设计中,程序通常被定义为数据结构与算法的结合,两者在设计过程中常被分离并独立处理。
13、 实践中人们发现,数据结构与算法密不可分,可采用一个算法匹配一组数据结构,或一组数据结构配合多个算法协同工作。
14、 面向对象程序设计将数据结构与算法封装于对象中,形成对象=数据结构+算法的理念,其核心在于合理设计与有效使用对象,通过对象间的交互实现程序功能,提升代码的模块化、可维护性与重用性。
15、 对象是现实世界中存在的具体或抽象事物,既包括学生、房屋、汽车等有形实体,也涵盖国家、生产计划等无形概念。
16、 对象是构成世界的基本独立单元,具备描述内在状态的静态属性和体现功能行为的动态特征。
17、 对象是对客观事物的整体抽象,作为系统的基本组成单元,具备一组属性和对应的操作,体现了系统建模中数据与行为的统一。
18、 从系统实现角度看,对象是数据与其相关操作的统一封装体,由属性和可对其执行的方法共同组成,体现了数据与行为的有机结合。
19、 在面向对象编程中,对象包含属性和行为两个方面。
20、 属性是对象固有的特征或状态,如年龄、身高、肤色和体重等。
21、 行为指个体所具备的特长或技能等功能表现。
22、 对象具备如下特性:
23、 对象的操作可分为两类:一类是作用于自身的操作,另一类是作用于其他对象的操作。
24、 通过封装技术,将对象的属性和实现细节隐藏于模块内部,用户只需关注其功能用途,无需了解具体实现。这样外部变动不会干扰模块内部状态,增强了独立性。模块可灵活组合进系统,也可被开发者重复使用,提升开发效率与系统稳定性。
25、 通过消息激活机制,实现对象间的动态连续交互,推动整体系统有序运行。
26、 易维护性体现在数据与操作的封装上,修改仅限于模块内部,不影响外部结构,使对象和系统整体更便于维护和更新。
27、 对象间交互时传递的通信内容称为消息。在C++中,消息通过函数来体现,是对象间发起请求、协同运作的方式,用于说明希望某个对象执行特定操作。对象彼此之间的关联与协作,必须依赖消息的传递来实现。
28、 消息三性:真、时、全。
29、 在面向对象系统中,完成某一事件可能需向同一或不同对象连续发送多个消息,这些按序传递的消息集合被称为消息序列。
30、 对象接收来自外部的称为公有消息,自身发起的则称为私有消息。
31、 根据功能差异,特定对象的消息可划分为三种类型。
32、 类是拥有共同属性和行为的一组对象的抽象集合。
33、 类是对具有相同特征和行为的一组对象的抽象描述,代表了这类对象的共性。
34、 对象是类的具体体现,符合类的定义并具有实际属性和行为的个体即为该类的实例。
35、 类是对具有相同特征和行为的对象的抽象概括,对象则是类的具体实例,体现类所定义的属性与方法。
36、 面向对象系统设计重在构建与运用类,类的确定通过归纳方法实现。
37、 在系统设计中,通过类比具有相似属性的物质对象,归纳其数据与行为特征,进而抽象形成一个类别。
38、 封装性:隐藏细节
39、 封装是把代码包装成独立单元,使用时只需了解其功能,无需关心内部实现细节。
40、 承袭关系
41、 继承是面向对象系统的关键特性之一,类之间既可相互独立,也可能具有某些共同特征。
42、 继承体现了对象间的关联关系,使子类能自动获得并共享父类的所有属性和方法,即一类对象可沿袭另一类对象的特征与功能。
43、 多样性形态
44、 多态性指同一名称或接口在不同情境下可表现出多种含义或实现方式,使相同操作可根据对象类型产生不同行为。
45、 C++支持运行时和编译时多态。
46、 编译时的多态特性
47、 运行时的多态特性
评论
更多评论