为帮助考生备考软考软件设计师考试,希赛小编为大家整理了2022下半年软件设计师知识点:面向对象的概念,相信对大家备考会有帮助。
面向对象的概念(★★★★★)
【考法分析】
本知识点的考查形式主要是给定相关的一些概念描述判断正误;或根据描述指出对应的概念。
【要点分析】
1、基本概念:
(1)对象:属性(数据)+方法(操作)+对象ID
(2)类(实体类/控制类/边界类)
(3)接口:一种特殊的类,他只有方法定义没有实现
(4)封装:隐藏对象的属性和实现细节,仅对外公开接口,是一种信息隐藏的机制。
(5)多态:不同对象收到同样的消息产生不同的结果。多态实质上是将子类的指针对象或者引用对象传递给父类指针对象后,通过这个父类指针对象调用的函数(此函数在父类中声明为虚函数,且在各个子类中重写这个函数),不是父类中定义的,而是传递进来的子类对象中重写的函数。
过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。
(6)重载:一个类可以有多个同名而参数类型不同的方法
(7)继承与泛化:复用机制。面向对象技术中,继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。可以存在多重继承的概念,但不同的程序设计语言可以有自己的规定。
(8)消息和消息通信:消息是异步通信的
2、面向对象设计原则:
(1)单一职责原则:设计目的单一的类
(2)开放-封闭原则:对扩展开放,对修改封闭
(3)李氏(Liskov)替换原则:子类可以替换父类
(4)依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程
(5)接口隔离原则:使用多个专门的接口比使用单一的总接口要好
(6)组合重用原则:要尽量使用组合,而不是继承关系达到重用目的
(7)迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
【备考点拨】
掌握面向对象相关的基本概念。