发布日期:2015-12-22 16:41 来源: 标签: 编程语言 C++教程 C++面向对象 C++封装继承
面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。
  面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在:
· 面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。
· 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的
2 用面向对象方法建立模型的思维过程是怎样的。
用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:
· 知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。
· 具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。
3 解释以下概念:
① 对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。
② 消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。
③ 类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。
④ 实例:任何一个对象都是该对象所属类的一个具体实例。
⑤ 公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。
⑥ 私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该对象发送。
⑦ 消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。
4 类与实例的关系如何?
类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有:
· 相同的操作集合;
· 相同的静态属性集合;
· 不同的对象名和属性动态值。
5 解释以下概念:
① 封装:封装是数据隐藏设计思想的实现,它必须具备三个要素:
· 具有一个确定的边界,对象的所有私有数据、内部程序(成员函数)细节都被固定在这个边界内部;
· 具有一个接口,这个接口描述对象之间的相互作用的规格说明,即消息;
· 对象内部的实现代码受到封装的保护,其他对象不能直接修改该对象所拥有的数据和代码。
② 协议:对象对外服务的说明
③ 继承:继承表达了一种对象类之间的相交关系,它使得某类对象可以继承另一类对象的特征和功能。
④ 单继承:一个类只从一个已有类(父类)中继承特征和功能。
⑤ 多继承:一个类只从不止一个已有类(父类)中继承特征和功能。
⑥ 委托:委托是将一个对象的工作分配给与该工作相关的特定的对象去完成的代码重用机制,它是一种既可以静态实现又可以动态实现的复杂关系。
⑦ 重载:通过为函数或运算符创建附加定义,使相同名字的函数或运算符在不同的场合可以表现出不同的行为。
⑧ 抽象类:抽象类是一个用于一组具有相同接口的类的公共基类,它刻划了所有由它派生的类的统一的接口定义,但只描述这些接口协议的部分实现,而完整的实现要由派生类完成。因此抽象类不能创建实例(对象)。
⑨ 类的层次:有类的继承关系构成类结构。
6 面向对象程序设计的软件生命周期有哪几个阶段,它与传统的程序设计有什么不同?面向对象软件的开发生命周期是由分析、设计、演化和维护四个阶段组成的。每个阶段都可以反馈,是一个迭代、渐增的开发过程。这种迭代、渐增过程不仅贯穿整个软件生命周期,并且表现在每个阶段中特别是分析(全局分析、局部设计)和设计(全局设计、局部设计)阶段。这与传统的程序设计所遵循的分析、设计、编码、调试和维护五个阶段组成的瀑布式生命周期有着很大不同,更符合随着人的认识逐步深化,软件分析、设计逐步求精的规律,更有利于软件的编码、调试和维护、扩展。

相关评论

专题信息
    C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性! 本教程从基础讲解了C++语言,希望对大家有所帮助,望多多支持中国站长网络学院。