面向对象作业
面向对象程序设计作业(带答案)

人工智能学院面向对象程序设计作业Java语言基础年级专业 2019级软件工程专业学号姓名成绩一、选择题1.下列标识符中,正确的是(C)。
A.class B. 123_rr C. _lei D. test&122.下列( D )的选项可以正确表示八进制8。
A.0x8 B. 0x10 C.08 D. 0103. 以下哪个是十进制数17对应的十六进制正确表示?( D )A. 017B. x11C. 0x17D. 0X114.在Java中,不属于整数类型的是( A )。
A.double B. long C. int D. byte5.在Java中,关于标识符的说明,不正确的是(D )。
A.严格区分大小写;B.长度不限;C.不能用关键字和保留字作为标识符;D.可以包含空格6.给出下面代码的输出结果。
( D )public class ByteAdd {public static void main(String args[ ]){byte a=10;byte b=100;byte c;c=a+b;System.out.println(a+"+"+b+"="+c);} }A.输出零B.输出 10+100=110C. 编译时正确,运行时将产生错误;D.编译时将产生错误;二、程序阅读题1. 对于以下程序,运行“java Abs”,将得到什么打印结果?public class Abs{static int a=0x11;static int b=0011;static int c='\u0011';static int d=011;public static void main(String args[]){ System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);}}179179类和对象年级专业 2019级软件工程专业学号姓名成绩一、选择题1. 为了在当前程序中使用ch4中的类,可以使用的语句是( A )。
XXX14秋学期《面向对象程序设计》在线作业答案

XXX14秋学期《面向对象程序设计》在线作业答案面向对象程序设计14秋学期《面向对象程序设计》在线作业一,单选题1.下列关于this指针的说法,错误的是()。
A。
this指针指向当前正在操作的对象B。
this指针只存在于非静态成员函数中C.在成员函数中对非静态数据成员的访问是通过this指针完成的D.静态成员函数中可以通过this指针访问非静态成员正确答案:D2.已知“int a=10,*p;int *&r=p。
r=*p=20;cout<<a;”,则输出为()。
A。
10B。
20C.不确定值D.程序有错误正确答案:B3.有关重载函数的描述正确的是()。
A.函数名相同的函数就是重载函数B.函数名相同但返回值类型不同的函数就是重载函数C.函数名相同但参数个数或类型不同的函数就是重载函数D.函数功用相同的函数就是重载函数正确答案:C4.在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。
以下叙述中正确的选项是()。
A。
operator+有两个参数,operator*有两个参数B。
operator+有两个参数,operator*有一个参数C。
operator+有一个参数,operator*有两个参数D。
operator+有一个参数,operator*有一个参数正确谜底:C5.以成员函数方式重载运算符“>”,则obj1>obj2被C++编译器解释为()。
A。
operator>(obj1,obj2)B。
(obj1,obj2)C。
obj1.operator>(obj2)D。
obj2.operator>(obj1)正确谜底:C6.下列运算符中,()在C++中不能重载。
A。
:B。
+C。
-D。
<=正确答案:A7.运行以下程序时,如果由键盘输入6514,则输出结果是()。
#includeusingnamespace std。
int main() { int m。
《面向对象分析与设计》在线作业

《面向对象分析与设计》在线作业一、单选题 (共50题,每题1分,共50分)1、面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A.SmalltalkB.EiffelC.C++D.Java2、UML的全称是 (B )。
A.Unify Modeling LanguagB.Unified Modeling LanguageC.Unified Modem LanguageD.Unified Making Language3、在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是(D)。
A.可以使用switch语句选择驱动程序B.可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题C.可以选择抽象工厂模式实现,且能避免组合爆炸问题D.使用继承的解决方案要比switch语句有更多的优势4、下列关于面向对象方法中描述中错误的是(C)。
A.使用设计模式有助于在软件开发中应用面向对象技术B.选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C.UML作为一种可视化建模语言需要与RUP开发过程同时使用D.目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法5、类图应该画在Rose的哪种(B)视图中。
e Case ViewB.Logic Viewponent ViewD.Deployment View6、(B)是一个类对象所可能经历的所有历程的模型图。
A.模型管理视图B.状态机视图C.动态视图D.静态视图7、以下对部署图说法不正确的是(A)。
A.部署图有主要建模元素是构件B.使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件的配置的部署方式C.从部署图中,可以了解到软件与硬件之间物理关系及处理节点的组件分布情况D.部署图是用来显示系统中软件和硬件的物理结构8、下面不是活动图中的基本元素的是(D)。
Java面向对象练习经典题

JA V A程序作业题1、设计一个包含多个构造函数的类,并分别用这些构造函数实例化对象。
2、编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。
3、建立三个类:居民、成人、官员。
居民包含身份证号、姓名、出生日期,而成人继承自居民,多包含学历、职业两项数据;官员则继承自成人,多包含党派、职务两项数据。
要求每个类的字段都以属性的方式对外提供数据输入输出的功能。
4、编写一个类,其中包含一个排序的方法sort(),当传入的是一串整数,就按照从小到大的顺序输出,如果传入的是一个字符串,就将字符串反序输出。
5. 编写一个控制台应用程序,定义一个类MyClass,类中包含有public、private 以及protected数据成员及方法。
然后定义一个从MyClass类继承的类MyMain,将Main方法放在MyMain中,在Main方法中创建MyClass类的一个对象,并分别访问类中的数据成员及方法。
要求注明在试图访问所有类成员时哪些语句会产生编译错误。
7.创建一个类包含有protected数据。
在相同的文件里创建第二个类,用一个方法操纵第一个类里的protected数据9 编写一个控制台应用程序,完成下列功能,并回答提出的问题。
1) 创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。
2) 从A继承一个名为C的新类,并在C内创建一个成员变量B。
不要为C创建构造函数。
3) 在Main方法中创建类C的一个对象,写出运行程序后输出的结果。
4) 如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么10 编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。
1) 创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。
2) 再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
面向对象第三章作业

1.什么是包?为什么需要包机制?2.课本习题写出程序运行结果class Value{public int i = 15;}public class Test{public static void main(String argv[]){Test t = new Test();t.first();}public void first(){int i = 5;Value v = new Value();v.i = 25;second(v, i);System.out.println(v.i);}public void second(Value v, int i){i = 0;v.i = 20;Value val = new Value();v = val;System.out.println(v.i + " " + i);}}结果:15 0201.对象使用时,下面描述错误的是( )(A)通过“.”运算符调用成员变量和方法(B)通过成员变量的访问权限设定限制自身对这些变量方法的调用(C)将一个对象申明为类的成员时,必须在使用前为其分配内存(D)在方法中使用对象作为参数时,采用引用调用2.给出如下代码:class Test{private int m;public static void fun() {// some code...}}如何使成员变量m 被函数fun()直接访问( B)(A)将private int m 改为protected int m(B)将private int m 改为public int m(C)将private int m 改为static int m(D)将private int m 改为int m3.下列哪些语句关于内存回收的说明是正确的( )(A) 程序员必须创建一个线程来释放内存;(B) 内存回收程序负责释放无用内存(C)内存回收程序允许程序员直接释放内存(D)内存回收程序可以在指定的时间释放内存对象4.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。
国开作业面向对象程序设计(本)-形考作业一98参考(含答案)

题目:具有相同属性和服务的一组对象的模板称为()。
选项A:概念
选项B:程序
选项C:类
选项D:代码
答案:类
题目:类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
选项A:产品
选项B:成分
选项C:元素
选项D:实例
答案:实例
题目:任何一个父类的引用变量(或对象)都可以被当成一个派生类的引用变量(或对象)。
选项A:对
选项B:错
答案:错
题目:抽象类要包含一些抽象方法,这种抽象方法只有方法的声明,而没有方法的实现。
选项A:对
选项B:错
答案:对
题目:如果在派生类的构造方法的定义中需要调用父类的构造方法,则super语句必须出现在派生类构造方法体中的第一行。
选项A:对
选项B:错
答案:对
题目:在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的变量。
选项A:对
选项B:错
答案:对
题目:定义接口使用的语句关键字为interface,一个接口不能够继承任何其他接口。
选项A:对
选项B:错
答案:错
题目:Java既支持类的单继承,又支持类的多重继承。
选项A:对
选项B:错。
面向对象软件工程—课后作业

面向对象软件工程第八章8.1.什么是面向对象方法学,它有哪些优点?答:面向对象方法学是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类解决问题的方法与过程,使描述问题的问题空间与实现揭发的解空间在结构上尽可能一致的方法学科。
优点:1、与人类的习惯的思维方法一致;2、稳定性好;3、可重用性好;4、适合用于大型软件产品;5、所开发的软件有较好的可维护性;6、面向对象的软件比较容易修改;7、面向对象软件比较容易理解;8、易于测试和调式。
8.2.什么是对象,它与传统的数据有何异同?答:对象是对问题域中某个实体的抽象。
相对于传统数据的静态被处理,对象既有静态的属性,又有动态的行为,是进行处理的主体。
8.3.什么是类?答:类是对具有相同数据和相同操作的一组相似对象的定义。
8.4.什么是继承?答:继承是指能够直接获得已有事物的性质和特征,而不必重复定义他们。
8.5.什么是模型,开发软件为何要建模?答:所谓模型就是为了理解事物而对该事物做出的一种抽象,是对事物的一种无歧视定义的书面描述。
由于模型忽略了事物的非本质东西,因此模型比原始事物更容易操作。
对于那些因过分复杂而不能直接理解的系统,特别需要建立模型,建模的目的主要是为了降低复杂性。
人的头脑每次只能出来少量信息,模型通过把系统的重要部分分解成人的头脑一次能处理的若干个子部分,从而减少了系统的复杂程度。
8.6.什么是对象模型,建立对象模型时主要使用哪些图形符号,这些符号的含义是什么?答:对象模型表示静态的、结构化的系统性质,是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。
在UML中,用类图来建立对象模型,表示一个类及属于该类的对象。
8.7.什么是动态模型,建立动态模型时主要使用哪些图形符号,这些符号的含义是什么?答:动态模型时描述系统控制结构,即行为化的一种模型。
在UML中主要用状态图、交互图、活动图来建立动态模型。
java面向对象练习题

java面向对象练习题# Java面向对象练习题一、选择题1. 在Java中,以下哪个关键字用于定义类的访问权限为“仅包内可见”?- A. public- B. private- C. protected- D. 默认(不写访问修饰符)2. 以下哪个是Java中的构造方法?- A. 与类名相同,没有返回类型的方法- B. 与类名不同,没有返回类型的方法- C. 与类名相同,有返回类型的方法- D. 与类名不同,有返回类型的方法3. 在Java中,哪个关键字用于实现类的继承?- A. extends- B. implements- C. override- D. abstract4. 以下哪个是Java中类的成员变量?- A. 局部变量- B. 实例变量- C. 静态变量- D. 方法参数5. 以下哪个是Java中的多态性?- A. 接口- B. 继承- C. 封装- D. 抽象类二、简答题1. 解释Java中的封装性,并给出一个封装的类的例子。
2. 描述Java中接口和抽象类的区别。
3. 什么是Java中的继承?请举例说明如何使用继承。
三、编程题1. 创建一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)三个属性。
为每个属性提供getter和setter方法。
2. 编写一个名为`Student`的类,它继承自`Person`类,并添加一个名为`studentID`的属性。
为`studentID`提供getter和setter方法,并重写`toString`方法以返回学生的详细信息。
3. 创建一个接口`Movable`,包含一个方法`move()`。
然后创建一个名为`Car`的类实现该接口,并提供`move`方法的具体实现。
四、综合应用题1. 设计一个简单的银行账户系统,包含以下类:- `Account`:基本账户类,包含账户ID、账户余额和存款(deposit)与取款(withdraw)方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程 1
幻灯片 17,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段4:输出各种动物腿的条数
– 难点指导
• instanceof运算符
对象 instanceof 类或接口
Cat cat=new Cat("加菲猫", 4); Dolphin dolphin = new Dolphin("海豚奇奇"); System.out.println(cat instanceof Cat); //true System.out.println(cat instanceof Animal); //true System.out.println(cat instanceof Terrestrial); //true System.out.println(dolphin instanceof Terrestrial); //false System.out.println(cat instanceof Dolphin); //编译错误! System.out.println(dolphin instanceof Cat); //编译错误!
• 多态的概念: –生活中的多态 –程序中的多态 • 同一个引用类型,使用不同的实例而执行不同操作 • 使用多态实现思路
–编写父类 –编写子类,子类重写父类方法 –运行时,使用父类的类型,子类的对象 • 方法重写的规则 –在继承关系的子类中 –重写的方法名、参数、返回值类型必须与父类相同 –私有方法不能继承因而也无法重写
版本 1.0
课程 1
幻灯片 4,共 30 张
Java 编程语言
知识梳理:继承2-1
• 使用继承重构代码的好处: –方便修改代码 –减少代码量 • 子类继承父类的关键字: extends • 子类调用父类的属性和方法的关键字: super • 继承下的构造方法 • 使用抽象类实现子类继承父类 • 访问修饰符总结
版本 1.0
课程 1
幻灯片 9,共 30 张
Java 编程语言
知识梳理:接口2-2
• 面向接口编程 –接口是一种能力 • 关心实现类有何能力,而不关心实现细节 –接口是一种约定 • 面向接口的约定而不考虑接口的具体实现
版本 1.0
课程 1
幻灯片 10,共 30 张
Java 编程语言
综合练习:动物乐园
• 任务描述:
–以面向对象思想设计动物乐园系统 –动物乐园包括的成员:猫、鸭子„„
• 属性:名称、腿 • 方法:叫
–设计类图 –编码实现
版本 1.0
课程 1
幻灯片 11,共 30 张
Java 编程语言
综合练习:动物乐园 • 阶段1:设计猫和鸭类结构,画出类图并写出代码 – 训练要点: • 面向对象程序设计 • 类的封装、继承 • 抽象类 – 需求说明: • 以面向对象思想设计猫和鸭的类结构,画出类图并写出代码 – 实现思路: 1、发现类 2、类的属性 3、发现类的方法 4、优化设计
对象 instanceof 类或接口
版本 1.0
课程 1
幻灯片 8,共 30 张
Java 编程语言
知识梳理:接口2-1
• 定义接口的语法:
public interface MyInterface { public void foo(); //其他方法 }
• 接口特性 –接口不可以被实例化 –实现类必须实现接口的所有方法 –实现类可以实现多个接口 –接口中的变量都是全局静态常量
版本 1.0
课程 1
幻灯片 7,共 30 张
Java 编程语言
知识梳理:多态2-2
• 使用多态的好处: –提高可维护性 –提高可扩展性 • instanceof运算符 –该运算符用来判断一个对象是否属于一个类或者实 现了一个接口,结果为true或false –在强制类型转换之前通过instanceof运算符检查对 象的真实类型,可以避免类型转换异常,从而提高代 码健壮性
完成时间:30分钟
版本 1.0
课程 1
幻灯片 16,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段4:输出各种动物腿的条数 – 训练要点: • instanceof运算符 – 需求说明: • 在阶段3代码的基础上,对数组进行遍历输出各种动物腿 的条数
– 实现思路: 完成时间:30分钟 1、重用阶段3代码 2、使用instanceof判断动物种类
访问修饰符
private 默认(friendly) protected
本类
√ √ √
同包
√ √
子类
其他
√
public
版本 1.0
√
课程 1
√
√
√
幻灯片 5,共 30 张
Java 编程语言
知识梳理:继承2-2
• 定义抽象类的关键字: abstract
public abstract class Pet { }
版本 1.0
课程 1
幻灯片 2,共 30 张
Java 编程语言
难点突破
• • • •
面向对象设计的过程 使用权限修饰符进行类的封装 继承关系下构造方法的执行 利用多态减少代码量,提高代码的可扩展 性和可维护性 • this、super关键字的使用 • static、final关键字的使用 • 接口与抽象类的异同
完成时间:30分钟
版本 1.0
课程 1
幻灯片 12,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段1:设计猫和鸭类结构,画出类图并写出代码 – 难点指导 • 面向对象程序设计
版本 1.0
课程 1
幻灯片 13,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段2:增加新成员海豚,重新设计类结构 – 训练要点: • 多态 • 接口 – 需求说明: • 动物乐园增加一个新成员海豚,海豚的叫声是“海 豚音……” – 实现思路: 1、对Animals类重新设计 2、海豚类同时继承类和实现接口
版本 1.0
课程 1
幻灯片 18,共 30 张
Java 编程语言
总结
• • • • • • •
类和对象的概念 面向对象设计的步骤 子类继承父类的关键字 子类调用父类的属性和方法的关键字 定义抽象类及抽象方法的关键字 方法重写的规则 接口的特性
版本 1.0
课程 1
幻灯片 19,共 30 张
课程 1 幻灯片 3,共 30 张
版本 1.0
Java 编程语言
知识梳理:抽象和封装
• 一切皆对象 –用程序描述真实世界 –现实世界“是面向对象的” • 面向对象设计提抽象的过程 –用类图描述设计 –设计的过程 • 发现类 • 发现类的属性 • 发现类的方法 –抽象的原则 • 封装 –将类的某些信息隐藏在类内部,不允许外部程序直接访问 ,而是通过该类提供的方法来实现对隐藏信息的操作和访 问
• abstract也可用于方法——抽象方法 –抽象方法没有方法体 –抽象方法必须在抽象类里 –抽象方法必须在子类中被实现,除非子类是抽象 类 • final用法 –类不希望再被其他类继承 –方法不希望被重写 –属性值不希望被改变
版本 1.0
课ቤተ መጻሕፍቲ ባይዱ 1
幻灯片 6,共 30 张
Java 编程语言
知识梳理:多态2-1
Java 编程语言
用Java开发基于对象的应用程序
面向对象--动物乐园
版本 1.0
课程 1
幻灯片 1,共 30 张
Java 编程语言
课程内容回顾
• • • • • •
面向对象要解决的问题? 类和对象的概念? 面向对象特性:抽象、继承、封装、多态 抽象类的概念、语法、用处 接口的概念、语法、用处 面向对象设计的步骤 –发现类 –发现类的属性 –发现类的方法 –优化设计
完成时间:30分钟
版本 1.0
课程 1
幻灯片 14,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段2:增加新成员海豚,重新设计类结构 – 难点指导 • 使用多态、接口优化设计
版本 1.0
课程 1
幻灯片 15,共 30 张
Java 编程语言
综合练习:动物乐园
• 阶段3:输出各种动物叫声 –需求说明: • 在阶段2编写的Java代码的基础上,分别创建 Cat、Duck、Dolphin对象并放到一个数组中, 对数组进行遍历输出各种动物如何叫