《面向对象作业解答(面向对象)》由会员分享,可在线阅读,更多相关《面向对象作业解答(面向对象)(4页珍藏版)》请在金锄头文库上搜索。
1、1. 人工智能中哪个概念最接近对象的思想?a) 推理机 b)框架 c)知识库 d)槽 e)规则2. 选择面向对象的两个显著特征a)多态性 b)继承 c)可重用性 d)抽象e)封装 f)信息隐藏 g)动态绑定3.指出一下每组两个词的区别a)实例和类 A class is an abstract definition of an object. It defines the structure and behavior of each object in the class. It serves as a template for creating objects Objects are grou
2、ped into classes. An object is an instance of a class.b)数据类型和类数据类型:是一个值的集合以及定义在这个值集上的一组操作c)类和组件组件:数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础d)动态榜定和多态性动态榜定:在编译时,编译器仍然不知道对象的类型,但方法调用机制在程序执行时自己找出正确的方法主体。多态性:即多种形式。在运行期间,一个对象或一个操作符引用不同的类的实例(或类型值)能力。传给对象的消息不同,对象的解释(执行代码)也不同。e)类属性和继承类属性:类所具有的变量,不需创造实例
3、对象就存在继承:一个对象直接使用另一对象的属性和方法。f)覆盖与重载重载:一个类中,同一个方法名,但参数的个数、类型不同覆盖:当子类声明了与基类相同名字的方法,而且使用了相同的签名时,就称派生类的成员隐藏(hide)了基类的成员。4. 什么是多继承?C+与 Java 是怎么处理的?多继承:A class can inherit from several other classes。C+:一个子类可以有多个父类,它继承了多个父类的特性。多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。Java: Java 不支持类之间的多继承,即一个
4、子类只能有一个父类。单继承性使得 Java 简单,易于管理程序,不会出现逻辑错误以及多继承自身的缺陷。为了克服单继承的缺点,Java 使用了接口,一个类可以实现多个接口,从而在另一个更合理的角度来实现纯粹的多重继承性5. 面向对象方法的能降低编程复杂性吗?主要优点有哪些?能1易维护 采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。 2质量高 在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。 3效率高 在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这
5、样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。 4易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。6. 解释下列术语1Dynamic binding/Static bindingDynamic binding:在编译时,编译器仍然不知道对象的类型,但方法调用机制在程序执行时自己找出正确的方法主体。Static binding:静态绑定 早期绑定2 SOA面向服务的体系结构(service-oriented architecture,SOA )是一个组件模型,它将应用程序的不同功能单元(称为服务)通
6、过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。3MDDMDD, Model-Driven Developement, 由模型驱动的开发方式,简单来说就是以建立模型为主要手段的开发。它可应用在软件、系统和数据开发的全过程。4Component Reusability: 软件构件可以被复用的程度或范围。遵循一个适当的设计和编码标准将增强构件的可复用性。5Design Patterns:6CBSDComponent-Based Software Development, CBSD是一种基于分布对象技术、强调通过可复用构件设计与构造软件系统的软件复用途径.