“面向对象的基本概念”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
 
(未显示同一用户的1个中间版本)
第158行: 第158行:
  
 
D、可以有父类的属性和方法之外的新属性和新方法  √
 
D、可以有父类的属性和方法之外的新属性和新方法  √
 
  
  
第173行: 第172行:
  
 
D、int fun(int x, int y)  √
 
D、int fun(int x, int y)  √
 +
 +
解析:虚方法在Java中就是指抽象方法
  
 
D中定义方法int fun(int a, int b),这一现象称为()。
 
D中定义方法int fun(int a, int b),这一现象称为()。

2022年9月26日 (一) 14:24的最新版本

https://www.bilibili.com/video/BV1hg411V7Bm?p=84

1)面向对象的基本概念

面向对象=对象+分类+继承+通过消息的通信

面向对象的基本概念.png

对象

程序系统中基本运行的实体,包括数据和数据的操作

一个对象把属性和行为封装成一个整体,实现生产者与使用者的分离。

一个对象通常可由对象名、属性和方法(操作)三部分组成。


定义了一组大体上相似的对象。

类是对象的抽象对象是类的具体化是类的实例

特殊类是一般类的子类一般类是特殊类的父类


继承

父类和子类之间共享数据和方法的机制。

一个父类可以有多个子类,一个子类可以继承其父类(或祖先类)中的属性和方法

单重继承:从一个父类A得到继承

多重继承:一个子类有两个或更多个父类


重置

是一种动态绑定机制,使得子类在继承父类的前提下,用适合自己要求的实现去置换父类中的相应实现。(覆盖)


消息

对象之间的通信构造。


消息传递

当一个消息发送给某个对象时,包含要求接收对象去执行的某些活动的信息。

接收到信息的对象经过解释,然后予以响应。

在收到消息时,对象要予以响应。

不同的对象收到同一消息可以产生完全不同的结果,这一现象称为多态。

不同对象对同一消息的不同的响应。

通用多态:参数多态和包含多态

特定多态:过载多态和强制多态

通用多态对工作的类型不加限制,允许对不同类型的值执行相同的代码;

特定多态只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。


过载多态

同一个名(操作符、函数名)在不同的上下文中有不同的类型。

典型的例子是运算符重载和函数重载,属于静态多态。


2)面向对象的基本过程

面向对象的基本过程.png


面向对象分析(OOA)

  • 认定对象(名词)
  • 组织对象(抽象成类)
  • 对象间的相互作用
  • 基于对象的操作

完成对所解问题的分析,确定待开发软件系统要做什么,建立系统模型。

包括认定组织对象,描述对象间的相互作用,定义对象的操作和内部信息。


面向对象设计(OOD)

  • 识别类及对象
  • 定义属性
  • 定义服务
  • 识别关系
  • 识别包

将OOA所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图。


面向对象程序设计(OOP)

  • 程序设计范型
  • 选择一种OOPL

是采用程序设计语言,将设计模型转化为特定环境中的系统,即实现系统。


面向对象测试(OOT)

  • 算法层
  • 类层
  • 模板层
  • 系统层

对面向对象系统进行测试,查出系统错误。

主要包括算法层、类层、模板层、系统层。


考点1:类与对象

有些类之间存在一般和特殊关系,即一些类是某个类的特殊情况,某个类是一些类的一般情况。

因此,类()是其他各类的一般情况。

A、汽车

B、飞机

C、轮船

D、交通工具 √

解析:

“一般情况”指父类;

“特殊情况”指子类;


考点2:类的继承

在面向对象方法中,继承用于()。

A、利用已有类创建新类 √

B、在已有操作的基础上添加新方法

C、为已有属性添加新属性

D、为已有状态添加新状态

通过继承关系创建的子类()。

A、只有父类具有的属性

B、只有父类具有的操作

C、只能有父类所不具有的新操作

D、可以有父类的属性和方法之外的新属性和新方法 √


考点3:其他概念

采用面向对象程序设计语言C++/Java进行系统实现时,定义类S及其子类D。

若类S中已经定义了一个虚方法int fun(int a, int b),则方法()不能同时在类S中。

A、int fun(int x, double y)

B、int fun(double a, int b)

C、double fun(int x, double y)

D、int fun(int x, int y) √

解析:虚方法在Java中就是指抽象方法

D中定义方法int fun(int a, int b),这一现象称为()。

A、覆盖/重置 √

B、封装

C、重载/过滤

D、多态