参考答案和解析
正确答案:

 

计算机软件系统是现实生活中的业务在计算机中的映射,而现实生活中的业务其实就是一个个对象协

作的过程。面向对象编程就是按现实业务一样的方式将程序代码按一个个对象进行组织和编写,让计算机

系统能够识别和理解用对象方式组织和编写的程序代码,这样就可以把现实生活中的业务对象映射到计算

机系统中。

面向对象的编程语言有封装、继承、抽象、多态等4 个主要的特征。

1 封装:

封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低

耦合”,防止程序相互依赖性而带来的变动影响。在面向对象的编程语言中,对象是封装的最基本单

位,面向对象的封装比传统语言的封装更为清晰、更为有力。面向对象的封装就是把描述一个对象的属

性和行为的代码封装在一个“模块”中,也就是一个类中,属性用变量定义,行为用方法进行定义,方法

可以直接访问同一个对象中的属性。通常情况下,只要记住让变量和访问这个变量的方法放在一起,将一

个类中的成员变量全部定义成私有的,只有这个类自己的方法才可以访问到这些成员变量,这就基本上实

现对象的封装,就很容易找出要分配到这个类上的方法了,就基本上算是会面向对象的编程了。

例如,人要在黑板上画圆,这一共涉及三个对象:人、黑板、圆,画圆的方法要分配给哪个对象呢?

由于画圆需要使用到圆心和半径,圆心和半径显然是圆的属性,如果将它们在类中定义成了私有的成员变

量,那么,画圆的方法必须分配给圆,它才能访问到圆心和半径这两个属性,人以后只是调用圆的画圆方

法、表示给圆发给消息而已,画圆这个方法不应该分配在人这个对象上,这就是面向对象的封装性,即将

对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和

改变。一个更便于理解的例子就是,司机将火车刹住了,刹车的动作是分配给司机,还是分配给火车,显

然,应该分配给火车,因为司机自身是不可能有那么大的力气将一个火车给停下来的,只有火车自己才能

完成这一动作,火车需要调用内部的离合器和刹车片等多个器件协作才能完成刹车这个动作,司机刹车的

过程只是给火车发了一个消息,通知火车要执行刹车动作而已。

抽象:

抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物

的相似和共性之处,并且会忽略与当前主题和目标无关的那些方面,将注意力集中在与当前目标有关

的方面。抽象包括行为抽象和状态抽象两个方面。例如,定义一个Person 类,如下:

class Person

{

String name;

int age;

}

人本来是很复杂的事物,有很多方面,但因为当前系统只需要了解人的姓名和年龄,所以上面定

义的类中只包含姓名和年龄这两个属性,这就是一种抽像,使用抽象可以避免考虑一些与目标无关的

细节。我对抽象的理解就是不要用显微镜去看一个事物的所有方面,这样涉及的内容就太多了,而是

要善于划分问题的边界,当前系统需要什么,就只考虑什么。

继承:

在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类

所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,

这就是继承。继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可

重用性和可扩展性。

多态:

多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时

并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量

发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。因为在程序运行时才

确定具体的类,这样,不用修改源程序代码,就可以让引用变量绑定到各种不同的类实现上,从

而导致该引用调用的具体方法随之改变,即不修改程序代码就可以改变程序运行时所绑定的具

体代码,让程序可以选择多个运行状态,这就是多态性。多态性增强了软件的灵活性和扩展性。

例如, 下面代码中的UserDao 是一个接口,它定义引用变量userDao 指向的实例对象由

daofactory.getDao()在执行的时候返回,有时候指向的是UserJdbcDao 这个实现,有时候指向

的是UserHibernateDao 这个实现,这样,不用修改源代码,就可以改变userDao 指向的具体

类实现,从而导致userDao.insertUser()方法调用的具体代码也随之改变,即有时候调用的是

UserJdbcDao 的insertUser 方法,有时候调用的是UserHibernateDao 的insertUser 方法:

UserDao userDao = daofactory.getDao();

userDao.insertUser(user);

比喻:人吃饭,你看到的是左手,还是右手?

更多“面向对象的特征有哪些方面”相关问题
  • 第1题:

    面向对象的特征有()

    • A、封装
    • B、继承
    • C、多态
    • D、抽象

    正确答案:A,B,C,D

  • 第2题:

    面向对象设计的基本特征有哪些?这些特征对软件设计有何帮助?


    正确答案: 封装性;继承性;多态性
    在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植。多态能使程序员开发出简洁,易懂,易修改的代码。

  • 第3题:

    下列属于面向对象的软件开发过程的有()。

    • A、面向对象分析
    • B、面向对象设计
    • C、面向对象管理
    • D、面向对象实现
    • E、面向对象维护

    正确答案:A,B,D

  • 第4题:

    面向对象的三大特征:封装、继承、()


    正确答案:多态

  • 第5题:

    面向对象的特征是()、()和()、()。


    正确答案:对象唯一性;抽象性;继承性;多态性

  • 第6题:

    与传统结构化方法比较,面向对象方法具有哪些方面的优越性?


    正确答案: (1)跟现实世界更加接近;
    (2)可使软件系统结构更加稳定;
    (3)软件具有更好的可重用性;
    (4)软件更加便于维护与扩充。

  • 第7题:

    面向对象方法的对象的基本特征有哪些?


    正确答案: 对象的特征:
    ①抽象性。抽象地表示对象是强调描述对象的主要方面,忽略对象的不重要方面
    ②封装性。对象之间的相互依赖性小,可以独立地被其他各个系统所选用,这就是对象的封装性。
    ③继承性。不同位置的对象在属性关系上的共同性构成了对象之间的联系,在面向对象方法中被称为继承性,即子模块继承了父模块的属性。
    ④多态性。体现在各对象之间互操作、消息传递等方面。对象的多态性使不同的对象能够作相同的操作,对不同对象发送相同的信息。增强了软件的灵活性、重用性和可理解性。

  • 第8题:

    面向对象的编程方法的特征有().

    • A、抽象
    • B、继承
    • C、封装
    • D、多态性

    正确答案:A,B,C,D

  • 第9题:

    JAVA面向对象的特征有?()

    • A、 封装
    • B、 类
    • C、 继承
    • D、 多态

    正确答案:A,C,D

  • 第10题:

    问答题
    面向对象的特征有哪些方面?

    正确答案: 主要有以下四方面:
    (1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
    (2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
    (3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
    (4)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
    解析: 暂无解析

  • 第11题:

    多选题
    下列属于面向对象的软件开发过程的有()。
    A

    面向对象分析

    B

    面向对象设计

    C

    面向对象管理

    D

    面向对象实现

    E

    面向对象维护


    正确答案: C,A
    解析: 暂无解析

  • 第12题:

    多选题
    面向对象的特征有()
    A

    封装

    B

    继承

    C

    多态

    D

    抽象


    正确答案: C,B
    解析: 暂无解析

  • 第13题:

    那个不是面向对象的特征是()

    • A、封装
    • B、继承
    • C、对象
    • D、方法

    正确答案:C,D

  • 第14题:

    面向对象程序的基本特征是:().().()和()。


    正确答案:抽象;封装;继承;多态

  • 第15题:

    面向对象的三大特征是()性、()性和()性


    正确答案:封装;继承;多态

  • 第16题:

    面向对象的特征有哪些方面?


    正确答案:主要有以下四方面:
    (1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
    (2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
    (3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
    (4)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

  • 第17题:

    阐述面向对象的特征,并做简要的解释?


    正确答案: (1)对象唯一性。每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。
    (2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。
    (3)继承性。是父类和子类之间共享数据结构和方法的机制,这是类之间的一种关系。
    (4)多态性。是指相同的操作或函数,过程作用于多种类型的对象上并获得不同的结果。

  • 第18题:

    面向对象方法的基本特征包括()

    • A、类
    • B、对象
    • C、虚拟
    • D、继承

    正确答案:D

  • 第19题:

    简述面向对象的基本特征。


    正确答案: 封装性将描述对象的数据及处理这些数据的代码组装在一起,形成一个不可分割的独立单位(类),并尽可能地隐藏对象的内部细节,只保留有限的对外接口使之与外界发生联系。
    继承性就是指不需要编写相同的代码,一个类(子类)可以从另一个类(基类)中继承其全部属性和方法。
    多态性所谓多态性就是指同一个名字可以代表不同、但相似的功能。程序运行时,面向对象的语言会自动判断对象的派生类型,并调用相应的方法。

  • 第20题:

    面向对象的编程方法的特征有哪些?


    正确答案: A.抽象
    B.继承
    C.封装
    D.多态性

  • 第21题:

    多选题
    JAVA面向对象的特征有?()
    A

    封装

    B

    C

    继承

    D

    多态


    正确答案: B,D
    解析: 暂无解析

  • 第22题:

    问答题
    面向对象方法的对象的基本特征有哪些?

    正确答案: 对象的特征:
    ①抽象性。抽象地表示对象是强调描述对象的主要方面,忽略对象的不重要方面
    ②封装性。对象之间的相互依赖性小,可以独立地被其他各个系统所选用,这就是对象的封装性。
    ③继承性。不同位置的对象在属性关系上的共同性构成了对象之间的联系,在面向对象方法中被称为继承性,即子模块继承了父模块的属性。
    ④多态性。体现在各对象之间互操作、消息传递等方面。对象的多态性使不同的对象能够作相同的操作,对不同对象发送相同的信息。增强了软件的灵活性、重用性和可理解性。
    解析: 暂无解析

  • 第23题:

    问答题
    与传统结构化方法比较,面向对象方法具有哪些方面的优越性?

    正确答案: (1)跟现实世界更加接近;
    (2)可使软件系统结构更加稳定;
    (3)软件具有更好的可重用性;
    (4)软件更加便于维护与扩充。
    解析: 暂无解析

  • 第24题:

    问答题
    简述面向对象的基本特征。

    正确答案: 封装性将描述对象的数据及处理这些数据的代码组装在一起,形成一个不可分割的独立单位(类),并尽可能地隐藏对象的内部细节,只保留有限的对外接口使之与外界发生联系。
    继承性就是指不需要编写相同的代码,一个类(子类)可以从另一个类(基类)中继承其全部属性和方法。
    多态性所谓多态性就是指同一个名字可以代表不同、但相似的功能。程序运行时,面向对象的语言会自动判断对象的派生类型,并调用相应的方法。
    解析: 暂无解析