面向对象的设计方法-练习题

合集下载

面向对象程序设计练习题

面向对象程序设计练习题

面向对象程序设计练习题面向对象程序设计练习题面向对象程序设计是一种常用的软件开发方法,它将现实世界中的事物抽象成对象,通过定义对象的属性和方法来描述其行为。

这种编程方法可以提高代码的可重用性、可维护性和可扩展性。

下面将介绍几个面向对象程序设计的练习题,帮助读者更好地理解和应用这一编程方法。

1. 汽车租赁系统设计一个汽车租赁系统,包括汽车类、客户类和租赁记录类。

汽车类包括车牌号、品牌、型号和日租金等属性,客户类包括姓名、联系方式等属性,租赁记录类包括租车日期、租期和总租金等属性。

实现以下功能:- 客户可以查看可租赁的汽车列表;- 客户可以选择汽车租赁,并记录租车日期和租期;- 客户可以查看自己的租赁记录和总租金。

2. 图书管理系统设计一个图书管理系统,包括图书类、读者类和借阅记录类。

图书类包括书名、作者、出版社和价格等属性,读者类包括姓名、学号等属性,借阅记录类包括借书日期、归还日期等属性。

实现以下功能:- 图书管理员可以添加、删除和修改图书信息;- 读者可以查询图书信息,并借阅或归还图书;- 读者可以查看自己的借阅记录和逾期情况。

3. 银行账户管理系统设计一个银行账户管理系统,包括账户类、客户类和交易记录类。

账户类包括账户号码、余额等属性,客户类包括姓名、联系方式等属性,交易记录类包括交易日期、交易类型和交易金额等属性。

实现以下功能:- 客户可以查询账户余额;- 客户可以进行存款和取款操作,并记录交易记录;- 客户可以查看自己的交易记录和账户余额变动情况。

通过以上练习题,读者可以锻炼面向对象程序设计的能力,熟悉类的定义、属性和方法的使用,以及对象之间的交互。

在实现这些功能的过程中,读者需要考虑如何合理组织代码结构,如何处理异常情况,以及如何提高代码的可读性和可维护性。

在实际的软件开发中,面向对象程序设计是一种非常常用的编程方法。

它不仅可以提高代码的质量,还可以提高开发效率。

因此,掌握面向对象程序设计的技巧对于软件开发人员来说是非常重要的。

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

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

人工智能学院面向对象程序设计作业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 )。

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

面向对象程序设计考试题库

面向对象程序设计考试题库

面向对象程序设计期末综合练习一(单选题)单选题1. C++源程序文件的缺省扩展名为( )。

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

A. cppB. exeC. objD. lik3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。

A. cppB. exeC. objD. lik4. 编写C++程序一般需经过的几个步骤依次是( )。

A. 编译、编辑、连接、调试B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接D. 编辑、调试、编辑、连接5. 以下标识符中不全是保留字的是( )。

A. case for intB. default then whileC. bool class longD. goto return char6. 能作为C++程序的基本单位是( )。

A. 字符B. 语句C. 函数D. 源程序文件7. 程序中主函数的名字为( )。

A. mainB. MAINC. MainD. 任意标识符8. C++程序的基本模块为( )。

A. 表达式B. 标识符C. 语句D. 函数9. 可用作C++语言用户标识符的一组标识符是( )。

A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof10. 存储以下数据,占用存储字节最多的是( )。

A. 0B. ‘0’C. “0”D. 0.011. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。

A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a 的值是( )。

A. 12B. 144C. 156D. 28813. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc1的表达式是( )。

面向对象练习题

面向对象练习题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

面向对象程序设计样卷

面向对象程序设计样卷

面向对象程序设计样卷一、选择题( 本大题共10小题, 每题2分, 共20分)4.在下列定义的引用中, ( B )是错误的。

A. int i;B. int i;int &j = i; float &j=i;C. float i;D. char d;float &j = i; char &e = d;5. 假定BB为一个类,则执行BB y;语句时将自动调用该类的( B )A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数7.下列对派生类的描述中, ( C )是错误的。

A. 一个派生类能够作为另一个派生类的基类B.派生类至少应有一个基类C. 基类中成员访问权限继承到派生类中都保持不变D.派生类成员除了自己定义的成员外, 还包含了它的基类成员10.控制输出格式的控制符中, ( D )是设置输出宽度的。

A.wsB.endsC. setfill()D.setw()二、填空题( 本大题共10小题, 每题2分, 共20分)1.以/*开始, 以*/结束, 在/*和*/之间的部分即为注释。

2.重载函数在参数类型或参数个数上不同, 但函数名和类名_相同。

3. 假如一个类的名称为MyClass, 使用这个类的一个对象初始化该类的另一个对象时, 能够调用__拷贝______构造函数来完成此功能。

4.当删除对象时, 程序自动调用析构函数。

5. 对于每一个类的非静态成员函数, 都有一个隐含的_this_______指针。

8. 抽象类是指类里有一个函数, 是纯嘘函数。

三、改错题( 下面程序或程序段中有一处错误, 请用注释标明错误所在行的出错原因。

本大题共5小题, 每题2分, 共10分) 1. #include<iostream>using namespace std;int main(){ cout<<"This is a program."<<endl;return 0;}2. #include<iostream>using namespace std;int main(){x=3;int y=x*x;cout<<"y="<<y<<"\n";return 0;}3. #include<iostream>using namespace std;class Aa{public:Aa(int i=0){a=i; cout<<"Constructor "<<a<<endl; } ~Aa(){ cout<<"Destructor "<<a<<endl; }void print( ){cout<<a<<endl;}private:int a;};int main(){Aa al(1),a2(2);al.print();cout<<a2.a<<endl;return 0;}4.class A{int a,b;public:A(int aa,int bb=78){a=aa;b=bb;} };int main(){A x(2), y(4,9);return 0;}5. #include<iostream>using namespace std;class Test{public:static int x;};int Test :: x=20;int main(){cout<<Test::x;return 0;}四、程序分析题( 分析程序, 写出运行结果。

面向对象 练习题

面向对象 练习题

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

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

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

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

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

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

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

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

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

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

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

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

Java面向对象程序设计方案练习题

Java面向对象程序设计方案练习题

【练习题】01.类的成员变量猜数字游戏一个类A有一个成员变量有一个初值100。

定义一个类对A类的成员变量v进行猜。

如果大了则提示大了小了则提示小了。

等于则提示猜测成功。

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

另外调用加速减速的方法对速度进行改变。

【练习题】03.类的成员变量与方法、构造方法在程序中经常要对时间进行操作但是并没有时间类型的数据。

那么我们可以自己实现一个时间类来满足程序中的需要。

定义名为MyTime的类其中应有三个整型成员时分秒为了保证数据的安全性这三个成员变量应声明为私有。

为MyTime类定义构造方法以方便创建对象时初始化成员变量。

再定义diaplay方法用于将时间信息打印出来。

为MyTime类添加以下方法subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。

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

定义名为Number的类其中有两个整型数据成员n1和应声明为私有。

编写构造方法赋予n1和n2初始值再为该类定义加、减、乘、除等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。

在main方法中创建Number 类的对象调用各个方法并显示计算结果。

【练习题】05.构造方法编写Java程序用于显示人的姓名和年龄。

定义一个人类该类中应该有两个私有属性姓名和年龄。

定义构造方法用来初始化数据成员。

再定义显示方法将姓名和年龄打印出来。

在main方法中创建人类的实例然后将信息显示。

【练习题】06.get方法和set方法定义一个类该类有一个私有成员变量通过构造方法将其进行赋初值并提供该成员的getXXX()和setXXX()方法提示假设有private String name;则有public void setName(String name){ = name; } public String getName(){ return ; }【练习题】07.构造方法与重载为“无名的粉”写一个类要求有三个属性面码:String theMa 粉的分量(两是否带汤2.写一个构造方法以便于简化初始化过程如牛肉",3,true);3.重载构造方法使得初始化过程可以多样化WuMingFen("牛肉",2); 4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的WuMingFen f3 = new WuMingFen(); 5.写一个普通方法用于查看粉是否符合要求。

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

第10章面向对象的设计方法——习题讨论课1.图1是大学图书馆系统中“借书”用例的系统顺序图。

完成以下习题:
a.建立初步顺序图,它只含有参与者和问题域类。

b.给a题中得到的图添加可视层和数据访问层。

c.基于域类图和a,b两题的结果创建一幅设计类图。

d.创建一幅包图,它描述了包含可视层、域层和数据访问层包的三层解决方案。

图1 “借书”的系统顺序图
2.图2是大学图书馆系统中“还书”用例的活动图。

完成以下习题:
a.建立初步顺序图,它只含有参与者和问题域类。

b.给a题中得到的图添加可视层和数据访问层。

c.基于域类图和a,b两题的结果创建一幅设计类图。

d.创建一幅包图,它描述了包含可视层,域层和数据访问层包的三层解决方案。

图2 “还书”活动图。

相关文档
最新文档