软考(1)-面向对象的概念

目录

一. 软考基本信息

1. 软考时间:

2. 软考科目:

3.专业知识介绍 -- 综合知识考点分布

4. 专业介绍 -- 软件设计考点分布

二. 面向对象概念

1. 封装

考点一:对象

考点二:封装private

2. 继承

考点三:类

考点四:继承与泛化

考点五:重写(覆写)和重载

3. 多态

考点六:多态

考点七:动态绑定


一. 软考基本信息

1. 软考时间:

上午:9:00 - 11:00 基础知识

下午:14:00 - 16:30 应用技术

2. 软考科目:

科目一:综合知识

客观题:75空 满分75分 150分钟

科目二:软件设计

主观题:6道答题(只做5道)满分75分 150分钟

前4道必答,后2道二选一(Java或c++) 答题卡选突题号

3.专业知识介绍 -- 综合知识考点分布

软件工程师基础知识 - 13分:

开发模型 / 设计原选择 / 测试方法 / 质量特性 / CMM / Part图 / 风险管理

面向对象 - 11分:

面向对象的基本概念 / 面向对象分析与设计 / UML / 设计模型

数据结构与算法 - 9分:

数组 / 栈 / 队列 / 树与二叉树 / 图 / 查找排序 / 常见算法

程序设计语言 - 6分:

浮点数运算 / 溢出 / 算数 / 逻辑运算 / 计算机体系结构分类 / 指令系统基础 / CISC与RISC / 流水线 / Chace存储器可靠性分析 / 校验方法

操作系统 - 6分:

进程状态转换图 / 信号量与PV操作 / 死锁问题 / 银行家算法 / 段页式存储 / 页面置换算法 / 磁盘调度 / 树形文件系统

数据库系统 - 6分:

ER模型 / 关系代数 / 元组演算 / 规范化理论(键 / 范式 / 模式分解)/ 并发控制

计算机网络 - 5分:

OSI模型 / TCP/IP协议簇 / 子网划分 / 常用的网络命令

信息安全知识 - 5分:

加密解密技术 / 网络安全 / 计算机病毒

知识产权与标准化 - 3分:

作品保护时间 / 侵权判定 / 知识产权归属 / 标准的分类 / 标准代号

专业英语 - 5分:

专业英语填空

4. 专业介绍 -- 软件设计考点分布

试题1:必答题:数据流图

考察内容:给出相应名称(补充外部实体 / 补充数据存储 / 补充加工),补充数据流图的缺失部分(补充数据流),数据流图相关答题。

试题2:必答题:数据库设计

考察内容:E-R模型 / 关系模式 / 增加实体等。

试题3:必答题:UML建模

考察内容:类图 / 用例图 / 活动图 / 状态图等。

试题4:必答题:C语言算法

考察内容:分治法 / 贪心法 / 动态规划法 / 回溯法等

试题5:选答题:C++语言程序设计

考察内容:C++语法 + 设计模式

试题6:选答题:Java语言程序设计

Java语法 + 设计模式

二. 面向对象概念

封装:对象(对象ID,属性,行为);封装

继承:类(实体类,接口类,控制类);继承与泛化 +;重写与重载

多态:多态 ;动态绑定

1. 封装

考点一:对象

对象 = 对象名 + 属性/状态 + 行为(方法)

可以用状态替换属性,状态=所有(属性+当前值)

考点二:封装private

封装:不让外部消息访问对象内部的属性的方法

软考(1)-面向对象的概念_第1张图片

public:公开 protected:属于同一个包下的家庭成员可以访问 private:封装,私有的

2. 继承

考点三:类

类 = 类名 + 数据成员 + 成员函数

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

类的类型:

a. 实体类:现实世界真实存在的实体

b. 接口类:为用户提供系统综合交互的方式

c. 控制类:描述业务逻辑,用来控制活动流,充当实体类和接口类之间的协调者

考点四:继承与泛化

子类是父类/超类的特殊化,父类是子类/超类的泛化

多重继承:多重继承可能会产生二义性、

考点五:重写(覆写)和重载

重写发生在类之间(继承时)

重载发生在类之内

3. 多态

考点六:多态

重写(覆写)和重载是多态的具体表现形式

重写是体现父类与子类不同表现

重载是体现同一个类中不同表现

过载多态:一个名字在不同的上下文中所代表的含义不同,重载是过载多态的一种表现

软考(1)-面向对象的概念_第2张图片

考点七:动态绑定

动态绑定是实现多态的基础

动态绑定:运行时;静态绑定:编译时

软考(1)-面向对象的概念_第3张图片

实现多态的基础步骤:

1.要有继承关系

2.要发生重写

3.要有[父类引用]指向[子类对象] 

编码:Animal a = new Cat(); Animal b = new Dog()

运行:a.call() //输出为:“喵”;b.call() //输出为“汪” 

动态绑定是实现多态的基础

在面向对象方法中,不同ing对象收到同一消息可以产生完全不同的结果,这一现象称为(多态)

,在使用时,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。

继承是父类和子类共享数据和行为的过程

覆盖是子类置换父类中的方法为自己使用的过程

你可能感兴趣的:(软件工程)