面向对象练习题

合集下载

JAVA面向对象程序设计练习题目题目

JAVA面向对象程序设计练习题目题目
1
public class B{ public static void main(String[] args){ } } (A)只有 B.class 文件 (B)只有 A1.class 和 A2.class 文件 (C)编译不成功 (D)A1.class、A2.class 和 B.class 文件 11.下列( )是合法的标识符? (A)12class (B)void (C)-5 (D)_blank 12.下列( )不是 Java 中的保留字? (A)if (B)sizeof (C)private (D)null 13.下列( )不是合法的标识符? (A)$million (B)$_million (C)2$_million (D)$2_million 14.下列选项中, ( )不属于 Java 语言的基本数据类型? (A)整数型 (B)数组 (C)浮点型 (D)字符型 15.下列关于基本数据类型的说法中,不正确的一项是( ) 。 (A)boolean 类型变量的值只能取真或假 (B)float 是带符号的 32 位浮点数 (C)double 是带符号的 64 位浮点数 (D)char 是 8 位 Unicode 字符 16.下列关于基本数据类型的取值范围的描述中,正确的一个是( ) 。 (A)byte 类型的取值范围是-128~128 (B)boolean 类型的取值范围是真或假 (C)char 类型的取值范围是 0~65536 ( D ) short 类 型 的 取 值 范 围 是 -32767 ~ 32767 17.下列关于 Java 语言简单数据类型的说法中,正确的一项是( ) 。 (A)以 0 开头的整数代表 8 进制整型常量 (B)以 0x 或 0X 开头的整数代表 8 进制整型常量 (C)boolean 类型的数据作为类成员变量的时候,相同默认的初始值为 true (D)double 类型的数据占计算机存储的 32 位 18.下列 Java 语句中,不正确的一项是( ) 。 (A)int e, a, b = 10; (B)char c, d = ‘a’; (C)float e = 0.0d; (D)double c = 0.0f; 19.在编写 Java 程序时,如果不为类的成员变量定义初始值,Java 会给出它们的默认值, 下列说法中不正确的一个是( ) 。 (A)byte 的默认值是 0 (B)boolean 的默认值是 false (C)char 类型的默认值是’\0’ (D)long 类型的默认值是 0.0L 20.下列语句中不正确的一个是( ) 。 (A)float f = 1.1f; (B)byte b = 128; (C)double d = 1.1/0.0; (D)char c = (char)1.1f; 21.下列表达式 1+2+ "aa"+3 的值是( ) 。 (A)"12aa3" (B)"3aa3 " (C)"12aa" (D)"aa3" 22.已知 y=2, z=3, n=4,则经过 n=n+ -y*z/n 运算后 n 的值为( ) 。 (A)3 (B)-1 (C)-12 (D)-3 33.已知 a=2, b=3,则表达式 a%b*4%b 的值为( ) 。 (A)2 (B)1 (C)-1 (D)-2

面向对象第18章练习题

面向对象第18章练习题

面向对象第18章练习题一、选择题1. 在面向对象编程中,下列哪个概念描述了对象的属性和行为?A. 类B. 状态C. 方法D. 继承A. classB. defC. objectD. static3. 在Java中,下列哪个方法用于创建对象?A. new()B. create()C. init()D. malloc()A. 子类可以继承父类的私有属性B. 子类可以继承多个父类C. 父类可以继承子类D. 子类可以重写父类的方法5. 在Python中,下列哪个关键字用于定义类的方法?A. functionB. methodC. defD. class二、填空题1. 在面向对象编程中,__①__是具有相同属性和方法的对象的集合。

2. __①__关键字用于定义一个类,而__②__关键字用于创建对象。

3. 在Java中,所有类都是__①__类的子类。

4. __①__是一种将一个类的属性和方法传递给另一个类的方式。

5. 在Python中,使用__①__关键字来定义类的属性。

三、判断题1. 一个类可以同时继承多个类。

()2. 构造方法用于初始化对象的属性。

()3. 在Java中,静态方法不能访问非静态成员。

()4. 子类可以调用父类的构造方法。

()5. 在Python中,类方法可以通过类名直接调用。

()四、简答题1. 请简要说明面向对象编程的三大特性。

2. 请解释什么是构造方法,并说明其在类中的作用。

3. 请举例说明如何在Java中实现方法的重写。

4. 请简要介绍Python中的类属性和实例属性。

5. 请说明如何使用继承来实现代码的复用。

五、编程题1. 定义一个矩形类(Rectangle),包含长(length)和宽(width)两个属性,以及计算面积(getArea)和周长(getPerimeter)的方法。

2. 定义一个学生类(Student),包含姓名(name)、年龄(age)和成绩(score)三个属性,以及一个显示学生信息(showInfo)的方法。

《面向对象》练习题.

《面向对象》练习题.

一、单项选择题1. 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时B. 数据成员时C. 对象时D. 友元函数时2. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,x.a和x.b的值分别为()A. 1和0B. 1和4C. 4和0D. 4和13. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象4. 构造函数不具备的特征是()A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明5. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护6. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念7. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register8. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B. 局部变量C. 静态变量D. 函数9. 在私有继承的情况下,基类成员在派生类中的访问权限()A. 受限制B. 保持不变C. 为共有D. 为保护10. 使用引用作为函数参数,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象11. C++的继承性允许派生类继承基类的()A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性12. 以下基类中的成员函数表示纯虚函数的是()A. virtual void tt()=0B. void tt(int)=0C. virtual void tt(int)D. virtual void tt(int){}二、填空题(请在每小题的空格中填上正确答案。

面向对象 练习题

面向对象 练习题

面向对象练习题面向对象练习题面向对象编程是一种常用的编程范式,它将程序设计问题分解成一系列的对象,每个对象都有自己的属性和方法。

面向对象编程的核心思想是把现实世界中的事物抽象成程序中的对象,并通过对象之间的交互来解决问题。

为了提升对面向对象编程的理解和掌握,下面将给出一些面向对象编程的练习题。

1. 设计一个汽车类,要求具有以下属性和方法:- 属性:品牌、颜色、价格- 方法:启动、加速、刹车、熄火2. 设计一个学生类,要求具有以下属性和方法:- 属性:姓名、年龄、性别、成绩- 方法:学习、休息、考试、查看成绩3. 设计一个图书类,要求具有以下属性和方法:- 属性:书名、作者、出版社、价格- 方法:借阅、归还、查看借阅状态、查看图书信息4. 设计一个银行账户类,要求具有以下属性和方法:- 属性:账户名、账号、余额- 方法:存款、取款、查询余额、转账5. 设计一个矩形类,要求具有以下属性和方法:- 属性:宽度、高度- 方法:计算面积、计算周长、判断是否为正方形这些练习题涵盖了面向对象编程中常见的概念和操作。

通过解答这些题目,可以加深对面向对象编程的理解,并提升对类、对象、属性和方法的使用熟练度。

在解答这些题目时,可以先思考每个类应该具有哪些属性和方法,然后根据需求进行实现。

可以使用任何编程语言来完成这些练习题,但建议使用面向对象编程语言如Java、Python等。

除了以上的练习题,还可以尝试设计更复杂的类和对象,如实现一个电商平台的商品类、用户类和订单类,或者实现一个图形界面的计算器类。

通过不断练习和实践,可以逐渐掌握面向对象编程的技巧和思维方式。

总之,面向对象编程是一种重要的编程范式,掌握它对于提升编程能力和解决实际问题非常有帮助。

通过解答上述练习题,可以加深对面向对象编程的理解和掌握,为以后的编程工作打下坚实的基础。

希望大家能够充分利用这些练习题,不断提升自己的编程能力。

java面向对象练习题

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)方法。

python面向对象练习题(打印版)

python面向对象练习题(打印版)

python面向对象练习题(打印版)# Python面向对象编程练习题面向对象编程(OOP)是Python中的核心概念之一。

通过以下练习题,你可以加深对Python中类和对象的理解。

## 练习一:定义一个类1. 定义一个名为`Person`的类,包含以下属性:- `name`:姓名- `age`:年龄2. 为`Person`类添加一个初始化方法`__init__`,用于设置姓名和年龄。

3. 添加一个方法`greet`,用于打印问候语。

```pythonclass Person:def __init__(self, name, age): = nameself.age = agedef greet(self):print(f"Hello, my name is {} and I am{self.age} years old.")```## 练习二:继承和多态1. 定义一个`Student`类,继承自`Person`类。

2. 添加一个属性`student_id`来表示学生的学号。

3. 重写`greet`方法,使其打印出学生特有的问候语。

```pythonclass Student(Person):def __init__(self, name, age, student_id):super().__init__(name, age)self.student_id = student_iddef greet(self):print(f"Hello, I am {}, a student of age {self.age} with ID {self.student_id}.")```## 练习三:封装1. 创建一个名为`Car`的类。

2. 包含属性:`make`(制造商),`model`(型号),`year`(年份)。

3. 为这些属性提供私有化处理,即在属性名前加上双下划线`__`。

java面向对象编程练习题及答案

java面向对象编程练习题及答案

java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。

2. 描述Java中的继承是如何工作的,并给出一个继承的例子。

3. 解释Java中的多态性,并给出一个多态性的例子。

三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。

2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。

3. 创建一个名为`VehicleTest`的类,它包含`main`方法。

在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。

四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。

面向对象练习题

面向对象练习题

面向对象练习题一、选择题1. 在面向对象编程中,以下哪个概念不是面向对象的核心概念?A. 封装B. 继承C. 多态D. 函数2. 以下哪个选项是Java语言中实现多态的方式?A. 通过继承B. 通过接口C. 通过重载D. 通过重写3. 在面向对象编程中,一个类可以有多少个父类?A. 0个或1个B. 1个C. 多个D. 无数个4. 以下哪个关键字在Java中用于定义一个类?A. structB. classC. interfaceD. enum5. 以下哪个是Java中创建对象的关键字?A. newB. createC. instanceD. object二、填空题6. 在面向对象编程中,______ 是指将数据和操作这些数据的方法结合在一起。

7. 一个类可以包含______ 和______ 两种成员。

8. 封装的目的是______ 数据,并对外部隐藏内部细节。

9. 继承可以使得子类获得父类的______ 和______。

10. 多态性允许不同类的对象对同一消息做出响应,但具体______ 取决于对象的实际类型。

三、简答题11. 简述面向对象编程的三大特性,并举例说明它们在实际编程中的应用。

12. 解释什么是接口,并说明接口与抽象类的区别。

13. 描述如何使用Java实现一个简单的类,并说明如何创建该类的实例。

四、编程题14. 编写一个Java类`Person`,包含属性`name`和`age`,以及一个方法`introduce()`,该方法输出个人信息。

15. 假设你已经有一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。

编写一个名为`Dog`的类,继承自`Animal`,并实现`makeSound()`方法,使得`Dog`对象调用该方法时输出"Woof!"。

16. 创建一个Java程序,包含一个名为`Vehicle`的类,它有一个属性`speed`和一个方法`increaseSpeed(int increment)`。

面向对象_练习

面向对象_练习

课堂练习一、填空题1、对象是抽象的类,类的具体化就是()。

2、继承性是父类和子类之间()和消息的机制。

3、面向对象的设计的主要目标是提高生产效率,提高质量和提高()。

4、对象模型描述了系统的(),它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

5、面向对象技术中的“类”,是比较理想的()。

参考答案:1.对象2、共享数据结构3、可维护性4、静态结构5、可重用软构件二、判断题1、继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。

()2、多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。

( )3、面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。

( )4、面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。

()5、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

()参考答案:1、(×) 2、(×) 3、(√) 4、(√) 5、(√)三、多项选择题1、面向对象程序设计的基本机制()。

A) 继承B) 消息C) 方法D) 结构E)抽象2、下列属于Coad方法中面向对象的分析模型的层次有()。

A) 主题层B) 对象层C) 应用层D) 接口层E)数据层3、一个类属性依其特征划分,其类型有()。

A) 描述型B) 定义型C) 派生型D) 参考型E)应用型4、在进行面向对象分析时,所采用的模型有()。

A) 对象模型B) 动态模型C) 静态模型D) 功能模型E)接口模型5、状态是对象属性的值的一种抽象,它的性质有()。

A) 时间性B) 持续性C) 有序性D) 有穷性E)无序性参考答案:1、ABC 2、AB 3、ABCD 4、ABD 5、AB 四、问答题1、什么是面向对象方法学?它有哪些优点?参考答案:面向对象方法是一种运用对象、类、继承、封装、聚合、消息、多态等概念来构造系统的软件开发方法。

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。

如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。

答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。

4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。

面向对象程序设计综合练习题

面向对象程序设计综合练习题

面向对象程序设计综合练习题一、单项选择题1-1.C++语言是从早期的C语言逐步发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( B )。

A.面向过程 B.面向对象 C.安全性 D.复用性 1-2. C++源程序文件的缺省扩展名为( A )。

A. cppB. exeC. objD. lik1-3.由C++源程序文件编译而成的目标文件的缺省扩展名为( C )。

A. cpp B. exe C. obj D. lik1-4.由C++目标文件连接而成的可执行文件的缺省扩展名为( B )。

A. cpp B. exe C. obj D. lik1-5.编写C++程序一般需经过的几个步骤依次是( B )。

A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接1-6.用“>>”运算符从键盘输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。

A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车1-7.C++中声明常量的关键字是( A )。

A.const B.extern C.public D.enum 1-8.以下叙述中正确的是( B )A. 使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值B. 使用const定义的常量名有类型之分,其值在程序运行时是不可改变的C.在程序中使用内置函数使程序的可读性变差D. 在定义函数时可以在形参表的任何位置给出缺省形参值1-9.下列的符号常变量定义中,错误的定义是( C )。

A.const M=10; B.const int M=20;C.const char ch; D.const bool mark=true; 1-10.函数原型语句正确的是( B )。

A.int Function(void a) B.void Function (int); C.intFunction(a); D.void int(double a); 1-11.以下正确的函数原型语句是( C )。

面向对象基本练习题

面向对象基本练习题
1.编写一个类Teacher2,代表教员,要求如下
a)具有属性:姓名,年龄,性别和专业
b)具有方法:自我介绍,负责输出该教员的年龄,姓名,性别和专业
c)具有两个带参的构造方法,第一个构造方法中,设置教员的性别为男,专业为Java,其余属性的值由参数给定,第二个构造方法中,所有属性的值都由参数给定
d)编写测试类Teacher2Test,分别以两种方式完成对两个Teacher2对象的初始化工作,并分别调用它们的自我介绍方法,看看输出结果是否正确
2.设计Bird、Fish类,都继承自抽象类Animal,实现其抽象方法info(),并打印它们的信息,如下图所示:
提示:
A.定义抽象类Animal,具有age属性、info方法
B.义Fish类,具有本身的特有属性:wdight
3.请使用多态实现以下需求:牛犇有两个很好的朋友,一个是中国的王小强,,喜欢吃四川菜,练太极拳;一个是美国的约翰,喜欢吃披萨,打橄榄球。每当朋友来拜访牛犇时,牛犇都会按照各人的喜好招待他们。

(完整版)面向对象分析与设计练习题含答案

(完整版)面向对象分析与设计练习题含答案

(完整版)⾯向对象分析与设计练习题含答案⾯向对象分析与设计试题B卷⼀、单项选择题( 在每⼩题的四个备选答案中,选出⼀个正确答案,并将正确答案的序号填在题⼲的括号内。

每⼩题2 分,共20 分)/* 上个世纪80年代开始⾄今还盛⾏的以Smalltalk,C++等为代表的⾯向对象软件开发⽅法(00)*/1.到20世纪末,⾯向对象软件⼯程已经逐渐发展成熟,特别是(D)的形成和⼴泛使⽤,采⽤⾯向对象分析与编程的软件开发⽅法已成为软件开发的主流⽅法。

A. Simula67语⾔(20世纪70年代的Simula-67是第⼀个⾯向对象的语⾔)B. Smalltalk语⾔(80年代初的Smalltalk语⾔)C. Java语⾔(对流⾏的语⾔进⾏⾯向对象的扩充得到的语⾔或C++)D. 统⼀建模语⾔(UML)的标准2. ⾯向对象的运动产⽣了多种⾯向对象的语⾔, 其中(C)是⼀种混合性⾯向对象语⾔, 既⽀持⾯向过程的程序设计⽅法,⼜⽀持⾯向对象的程序设计⽅法,有⼴泛应⽤的基础和丰富开发环境的⽀持,因⽽使⾯向对象的程序设计能得到很快普及。

A. SmalltalkB. EiffelC. C++D. Java3.下列不属于⾯向对象技术的基本特征的是(B)。

A. 封装性B. 模块性C. 多态性D. 继承性4. ⾯向对象程序设计将描述事物的数据与( C ) 封装在⼀起,作为⼀个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于⾯向对象⽅法的优点,下列不正确的叙述是(C)。

A. 与⼈类习惯的思维⽅法⽐较⼀致B. 可重⽤性好C. 以数据操作为中⼼D.可维护性好6.(D)是从⽤户使⽤系统的⾓度描述系统功能的图形表达⽅法。

A. 类图C. 序列图D. ⽤例图7. (C ) 是表达系统类及其相互联系的图⽰,它是⾯向对象设计的核⼼,建⽴状态图、协作图和其他图的基础。

A.对象图 B. 组件图 C. 类图 D. 配置图**8.(D)描述了⼀组交互对象间的动态协作关系,它表⽰完成某项⾏为的对象和这些对象之间传递消息的时间顺序。

java面向对象编程练习题答案

java面向对象编程练习题答案

java面向对象编程练习题答案1. 面向对象编程中的三大特性是什么?A. 封装、继承、多态B. 抽象、封装、多态C. 封装、继承、抽象D. 继承、多态、抽象2. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. enumD. struct3. 以下哪个是Java中正确的构造方法定义?A. public void MyClass()B. public int MyClass()C. public MyClass()D. public MyClass(int value)4. 在Java中,以下哪个关键字用于实现封装?A. publicB. privateC. protectedD. static5. 以下哪个是Java中正确的继承方式?A. class Child extends ParentB. class Child extends ChildC. class Parent extends ChildD. class Child extends6. 多态在Java中是如何实现的?A. 通过继承B. 通过接口C. 通过重载D. 通过重写7. 在Java中,以下哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum8. 以下哪个是Java中正确的抽象类定义?A. public class MyClass {}B. public abstract class MyClass {}C. public abstract void MyClass()D. public abstract class MyClass { public abstract void method(); }9. 以下哪个是Java中正确的接口实现方式?A. class MyClass implements MyInterface {}B. class MyClass extends MyInterface {}C. interface MyInterface implements MyClass {}D. class MyClass implements MyClass {}10. 在Java中,以下哪个关键字用于定义一个静态方法?A. staticB. abstractC. finalD. synchronized11. 以下哪个是Java中正确的方法重载示例?A. public void display(int a, int b)B. public int display(int a, int b)C. public void display(int a)D. All of the above12. 在Java中,以下哪个关键字用于定义一个方法的返回类型?A. returnB. voidC. intD. method13. 以下哪个是Java中正确的方法重写示例?A. public void display() { super.display(); }B. public void display(int a) { super.display(a); }C. public void display() { System.out.println("Hello"); }D. public void display() {}14. 在Java中,以下哪个关键字用于定义一个类变量?A. staticB. finalC. privateD. protected15. 以下哪个是Java中正确的类变量访问方式?A. MyClass.variableB. new MyClass().variableC. MyClass().variableD. variable16. 在Java中,以下哪个关键字用于定义一个不可变变量?A. staticB. finalC. volatileD. transient17. 以下哪个是Java中正确的类方法定义?A. public void method() {}B. public static void method() {}C. public void MyClass.method() {}D. public static MyClass method()18. 在Java中,以下哪个关键字用于实现单例模式?A. synchronizedB. finalC. staticD. private19. 以下哪个是Java中正确的单例模式实现方式?A. public class Singleton { private static Singleton instance = new Singleton(); }B. public class Singleton { public static Singleton getInstance() { return new Singleton(); } }C. public class Singleton { private static Singleton instance; public static synchronized Singleton getInstance() { if (instance == null) instance = new Singleton(); return instance; } }D. All of the above20. 在Java中,以下哪个关键字用于定义一个枚举类型?A. enumB. classC. interfaceD. struct答案:1. A2. A3. C4. B5. A6. D7. B8. D9. A10. A11. D12. B13. A14. A15. A16. B17. B18. D19. C20. A。

《面向对象程序设计》练习题及答案

《面向对象程序设计》练习题及答案

《面向对象程序设计》练习题及答案1. 单选题1. 数组的大小在创建以后( )。

A. 可以改变B. 不能改变C. 使用new方法可以改变D. 有些可以改变正确答案:B2. 已知如下代码:boolean m = true;if ( m = false ) System.out.println("False");else System.out.println("True");执行结果是( )A. FalseB. TrueC. NoneD. 出错正确答案:B3. 下列代码中,将引起一个编译错误的行是( ) 1)public class Test{ 2) int m,n; 3) public Test(){} 4) public Test(int a){m=a;} 5) public static void main(String args[]){ 6) Test t1,t2; 7) int j,k; 8) j=0;k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) }12) }A. 第3行B. 第5行C. 第6行D. 第10行正确答案:D4. 如果类中的成员变量可以被同一包访问,则使用如下哪个约束符( )。

A. privateB. publicC. protectedD. no modifier正确答案:D5. 下列哪个类声明是正确的( )A. abstract final class Hl{…}B. abstract private move(){…}C. protected private numberD. public abstract class Car{…}正确答案:D6. 下列构造方法的调用方式中,正确的是( )。

A. 按照一般方法调用B. 由用户直接调用C. 只能通过new 自动调用D. 被系统调用正确答案:C7. 以下有关构造方法的说法,正确的是( )A. 一个类的构造方法可以有多个B. 构造方法在类定义时被调用C. 构造方法只能由对象中的其它方法调用D. 构造方法可以和类同名,也可以和类名不同正确答案:A8. 设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )A. 3B. 3.5C. 4D. 5正确答案:A9. 下面的表达式哪个是正确的( )A. String s="你好";int i=3; s+=i;B. String s="你好";int i=3; if(i==s){ s+=i};C. String s="你好";int i=3; s=i+s;D. String s="你好";int i=3; s=i+;正确答案:A10. 下列正确的句子是( )。

面向对象-练习题

面向对象-练习题

⾯向对象-练习题【练习题】01.类的成员变量:猜数字游戏:⼀个类A有⼀个成员变量v,有⼀个初值100。

定义⼀个类,对A 类的成员变量v进⾏猜。

如果⼤了则提⽰⼤了,⼩了则提⽰⼩了。

等于则提⽰猜测成功。

【练习题】02.类的成员变量:请定义⼀个交通⼯具(Vehicle)的类,其中有:属性:速度(speed),体积(size)等等⽅法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.最后在测试类Vehicle中的main()中实例化⼀个交通⼯具对象,并通过⽅法给它初始化speed,size的值,并且通过打印出来。

另外,调⽤加速,减速的⽅法对速度进⾏改变。

【练习题】03类的成员⽅法创建⼀个账户Account类,该类有id:账户号码(长整数) name:真实姓名字符串类型,balance:账户余额double 类型.⽅法:deposit:存款⽅法,参数是double 型的⾦额;withdraw:取款⽅法,参数是double型的⾦额.在main⽅法中创建Account类的对象,调⽤各个⽅法,并显⽰存取款结果。

【练习题】04.构造⽅法编写Java程序,模拟简单的计算器。

12 3定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为公共。

编写构造⽅法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员⽅法,分别对两个成员变量执⾏加、减、乘、除的运算。

在main⽅法中创建Number类的对象,调⽤各个⽅法,并显⽰计算结果。

【练习题】05.构造⽅法:编写Java程序,⽤于显⽰⼈的姓名和年龄。

定义⼀个⼈类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。

定义构造⽅法,⽤来初始化数据成员。

再定义显⽰(display)⽅法,将姓名和年龄打印出来。

面向对象编程练习题库_test

面向对象编程练习题库_test

面向对象编程练习题专题1 初识Java一、填空题1.自从Sun推出Java以来,按应用围可分为三个版本,分别是()、()、()。

2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为()、classpath为()。

3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。

4.如果Java源文件中有多个类,那么只能有一个类是()类。

二、选择题1.作为Java应用程序入口的main方法,其声明格式是()A.public static int main(String args[]) B.public static void main(String args[]) C.public void main(String args[]) D.public int main(String args[])2.下面命令正确的是()A.java AppFirst.java B.java AppFirstC.java appfirst.class D.javac AppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为()A.java FirstApplet B.javac FirstApplet.java C.appletviewer FirstApplet.java D.appletviewer FirstApplet.html 4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。

A.bin B.jre C.include D.doc5.Java语言是一种语言。

A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是( )。

A.函数B.过程C.变量D.类7.main()方法的返回值类型是()。

A.boolean B.int C. voidD.static8. 下面哪个单词是Java语言的关键字()A.False B.FOR C.For D.for9. 、线程是Java的()机制。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象练习题及答案
一、用例图
1.请就以下需求建立用例图:
一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。

该音像商店将存有大约1000 盘录像带和500 张光碟,这些订购涉及多家
订购商。

所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返
还,客户会员卡也同时条码化。

客户可以预定录像带并在指定日期来取。

系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。

评分标准:画图格式标准3 分,用例全面正确4 分,角色与用例之间的关系正确3 分
2.试用用例图描述小型图书资料管理系统。

某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教
师和学生对各种图书资料的借阅、查询和管理。

图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。


册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。

系统可以提供适当的浏览器供用户阅读
电子文献资料。

3.试用用例图描述
系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。

各个旅行社
把预定机票的旅客信息输入到系统中,系统为旅客安排航班。

当旅客交付了预订金后,系统
打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。

此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期
进行查询统计,以便适当调整。

技术要求和限制条件
(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能:1)旅客延误了取票时间的处理2)航班取消后
的处理
4 .请就此需求建立功能模型:
某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、
份数等项目,订户通过填写订单来订阅报刊。

报社下属多个发行站,每个发行站负责收集、登录订单、打印收款凭证等事务。

报社负责分类并统计各个发行站送来的各报刊订阅信息。

二、类图
1、请根据下面的描述,给出表示一本书的类图。

一本书有一个封面、一个目录、一个前言、若干章,每章有若干节,每节有若干段,每段有若干句子,每段0 个或多个插图,还有0 个或多个表格,最后还有一个封底。

建立该书的对象模型。

2、一台微机有一台显示器、一个主机、一个键盘、一个鼠标,打印机可有可无。

主机包括一个机箱、一个主板、一个电源、存储器等部件,存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。

建立微机的对象模型。

3.交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机;陆上交通工具分为火车、汽车,火车和汽车又分客车、货车,水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。

建立交通工具的对象模型。

4.某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求
如下:
报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

报社下属多个发行站,每个发行站负责收集、登录订单、打印收款凭证等事务。

报社负责分类并统计各个发行站送来的各报刊订阅信息。

请就此需求建立对象模型。

5.请就此需求建立对象模型:
某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

报社下属多个发行站,每个发行站负责收集、登录订单、打印收款凭证等事务。

报社负责分类并统计各个发行站送来的各报刊订阅信息。

三、顺序图
1.请用顺序图描述你在图书馆借两本书的正常过程。

(本题共五个得分点:正确的图形、几个过程)。

评分标准:绘图格式正确3 分,对象及操作设定合理3 分,流程描述正确4 分2.试用事件跟踪图描述生活中打电话事件。

3.请画出顺序图:当“洗衣服”这个用例被执行时,假设你已经完成了“加衣物”“加洗涤”和“开机”的操作,那么洗衣步骤如下:
1.通过进水管向洗涤缸注水。

2.洗涤缸保持5 分钟静止状态。

3.水注满,停止注水。

4.洗涤缸往返旋转15 分钟。

5.通过排水管排掉洗涤后的脏水。

6.重新开始注水。

7.洗涤缸继续往返旋转洗涤。

8.停止向洗衣机中注水。

9.通过排水管排掉漂洗衣物的水。

10.洗涤缸加速单方向旋转5 分钟。

11.洗涤缸停止旋转,洗衣过程结束。

4、请就以下需求建立用例图、类图、用时序图描述病人病情异常时系统的情况,其他情况从略
在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。

监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。

在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。

系统根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。

相关文档
最新文档