面向对象程序设计-作业及其答案

合集下载

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

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

人工智能学院面向对象程序设计作业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秋学期《面向对象程序设计》在线作业答案

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。

西电2022年秋季《面向对象程序设计(c++)》大作业及答案

西电2022年秋季《面向对象程序设计(c++)》大作业及答案

学习中心/函授站姓名学号西安电子科技大学网络与继续教育学院2022 学年下学期《面向对象程序设计(C++)》期末考试试题(综合大作业)考试说明:1、大作业试题公布时间:(1)毕业班:2022 年10 月21 日;(2)正常班:2022 年11 月18 日;2、考试必须独立完成,如发现抄袭、雷同均按零分计;3、答案须用《西安电子科技大学网络与继续教育学院2022 秋期末考试答题纸》(个人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;4、在线上传时间:(1)毕业班学生于2022 年10 月21 日至2022 年11 月1 日在线上传大作业答卷;(2)正常班学生于2022 年11 月18 日至2022 年12 月5 日在线上传大作业答卷;5、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4 纸),正确上传。

一、简答题(10 分)1、运算符 new 和 delete 的功能分别是什么?(3 分)答案:运算符new的功能是创建动态对象;delete的功能是释放由new创建的动态对象。

2、若派生类以 private 方式从一个基类派生,派生类的对象可以访问基类中的哪些成员?派生类的成员函数可以访问基类中的哪些成员?(3 分)答案:若派生类以private方式从一个基类派生,派生类的对象不能访问基类中的任何成员(1分);派生类的成员函数可以访问基类中的public和protected成员(2分)。

3、构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?(4 分)答案:构造函数的作用是创建对象并对其进行必要的初始化。

(1分)构造函数调用顺序:基类构造函数、子对象类构造函数(如果有)、派生类构造函数。

(2分)二、填空题(每空 2 分,共 20 分)1、函数的返回值是通过函数体中的return语句带回的;若被调用函数被定义为 void 类型,则被调用函数不带回任何值。

2、表示逻辑关系“ a 大于等于8 或者 a 小于等于5”的C++表达式是。

面向对象程序设计课程作业及答案

面向对象程序设计课程作业及答案

《面向对象程序设计》课程作业及答案中央电大理工部计算机教研室作业1:是非题1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。

1. 错2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。

4. 对填空题下面是一个求数组元素之和的程序。

主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。

函数sum计算数组元素之和。

填充程序中不完整的部分。

________A__________int sum(int [],int);void main(){int ia[5] = {2,3,6,8,10};B ;sumOfArray = sum(ia,5);cout << "Sum of array:" << sumOfArray << endl;}int sum(int array[],int len){int iSum = 0;for(int i = 0; C ; D )E ;return iSum;}答案:A #include <iostream.h>B int sumOfArray;C i < lenD i++E iSum += array[i];阅读理解题写出下列程序的运行结果://file1.cppstatic int i = 20;int x;static int g(int p){return i + p;}void f(int v){x=g(v);}//file2.cpp#include <iostream.h>extern int x;void f(int);void main(){int i=5;f(i);cout << x;}回答以下问题:1. 程序的运行结果是什么样的?2. 为什么文件file2.cpp中要包含头文件<iostream.h>?3. 在函数main()中是否可以直接调用函数g()?为什么?4. 如果把文件file1.cpp中的两个函数定义的位置换一下,程序是否正确?为什么?5. 文件file1.cpp和file2.cpp中的变量i的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。

java面向对象程序设计习题答案

java面向对象程序设计习题答案

java面向对象程序设计习题答案Java面向对象程序设计习题答案习题一:定义一个类问题描述:定义一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)属性,以及构造方法和相应的getters和setters方法。

答案:```javapublic class Person {private String name;private int age;private String gender;public Person(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}}```习题二:继承与多态问题描述:创建一个名为`Student`的类,继承自`Person`类,并添加一个名为`studentId`的属性。

重写`toString()`方法,以显示学生的详细信息。

答案:```javapublic class Student extends Person {private String studentId;public Student(String name, int age, String gender, String studentId) {super(name, age, gender);this.studentId = studentId;}public String getStudentId() {return studentId;}public void setStudentId(String studentId) {this.studentId = studentId;}@Overridepublic String toString() {return "Student{" +"name='" + getName() + '\'' +", age=" + getAge() +", gender='" + getGender() + '\'' +", studentId='" + studentId + '\'' +'}';}}```习题三:封装与隐藏问题描述:创建一个名为`BankAccount`的类,包含账户ID (accountId)、账户余额(balance)和账户类型(accountType)。

吉林大学2020-2021学年第一学期期末考试《面向对象程序设计》大作业参考答案

吉林大学2020-2021学年第一学期期末考试《面向对象程序设计》大作业参考答案

2020-2021学年第一学期期末考试《面向对象程序设计》大作业一名词解释题 (共10题,总分值30分 )1. 全局变量(3 分):变量分为局部与全局,局部变量又可称之为内部变量。

由某对象或某个函数所创建的变量通常都是局部变量,只能被内部引用,而无法被其它对象或函数引用。

2. 菜单(3 分):实际是一种树型结构,为软件的大多数功能提供功能入口。

3. 图标(3 分):通常用来做广告宣传的商标或特定标志。

4. main函数(3 分):又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。

有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。

5. 控件(3 分):Windows设计了一些具有图形外观的程序实体,这些程序实体在鼠标或键盘的作用下会使程序出现不同的响应,这些可以接收或者产生事件的程序实体就叫做控件。

6. 继承(3 分):指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。

7. 宏(3 分):计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。

解释器或编译器在遇到宏时会自动进行这一模式替换。

8. 用户界面(3 分):信息系统中需要用户交互的输入和输出部分。

9. 窗口(3 分):计算机图形学中的窗口是用户坐标系中需要进行观察和处理的一个坐标区域。

10. 数据成员(3 分):包含与非叶成员直接相关的值,该值独立于由该成员的后代计算得到的汇总值。

二简答题 (共5题,总分值40分 )11. While语句的形式为while(<表达式> ) <语句> ;当表达式满足什么条件时可以执行语句的内容?(8 分)答:以下是while语句的基本形式: while(表达式)语句:其中“表达式”可以是任意合法的表达式。

面向对象的程序设计作业及答案

面向对象的程序设计作业及答案

1. 一段代码可能导致异常,程序员将它放到了一个try模块中,catch(){……}块中的代码为空,那么() CA. 编译无法通过B. 只有在代码所在函数的声明中抛出才能编译通过C. 代表对异常不做处理,编译可通过D. 运行时一定出错满分:4 分2. 如果一段代码可能引发某种异常,Java要求(D)A. 最好处理B. 必须全部抛出C. 必须全部捕获D. 必须有明确的处理代码满分:4 分3. 错误提示内容:javac:Command not found,请判断是下列哪个方面出了问题?AA. 编译器的路径变量设置不正确B. 程序中有错误的语句C. 文件名和公有类名不匹配D. main方法缺少statci和public修饰满分:4 分4. public class Xyz {int x=1;} 类Xyz有几个构造方法() BA. 0B. 1C. 2D. 3满分:4 分5. 创建包目录的编译命令选项是( ) DA. -aB. -bC. -cD. -d满分:4 分6. 用()可以修饰类或成员方法,表明是抽象的。

CA. finalB. abstractD. static满分:4 分7. 子类中,若要使用父类中隐藏的方法,可以使用()关键字 AA. superB. thisC. upperD. parents满分:4 分8. 使用GridLayout管理组件,当容器的大小变化时(C)A. 组件的相对位置不变,组件的大小不变B. 组件的相对位置改变,组件的大小不变C. 组件的相对位置不变,组件的大小改变D. 组件的相对位置改变,组件的大小改变满分:4 分9. 下列哪个类不是java.applet.Applet类父类?(A )A. java.awt.FrameB. ponentC. java.awt.ContainerD. java.awt.Panel满分:4 分10. String类中,得到字符串中字符个数的函数是( A)A. length成员变量B. size成员变量C. length( )成员函数D. size( )成员函数满分:4 分11. 下列哪个是Java应用程序的正确运行命令?AA. java HelloWorldAppB. java HelloWorldApp.javaC. javac HelloWorldAppD. javac HelloWorldApp.java满分:4 分12. 可变(长度)字符串使用( )处理. DB. CharacterC. StringD. StringBuffer满分:4 分13. Java的三类异常中,当发生内存越界等无法恢复的错误时,会产生()A. ExceptionB. ErrorC. RuntimeD. Exception满分:4 分14. 数组的唯一的数据成员是(D)A. sizeB. SizeC. LengthD. length满分:4 分15. Stirng.replace(char char1,char char2);的意义是( ) AA. 所有char1换成char2B. 所有char2换成char1C. 第一个char1换成char2D. 第一个char2换成char1满分:4 分16. java中使用()符号来访问对象的方法 AA. .B. ->C. ()D. A和B满分:4 分17. 包语句可以放在()BA. 源文件的任意位置B. 源文件的第一条语句C. 源文件的末尾D. 源文件的中间满分:4 分18. 在一个程序中,我们处理完了数据,想更新显示,应该在代码中使用()函数。

(完整版)《面向对象程序设计》答案

(完整版)《面向对象程序设计》答案

实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。

2、掌握如何编辑、编译、连接和运行一个C++程序。

3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。

二、实验要求1、分析下列程序运行的结果。

程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。

《面向对象程序设计》课程作业及答案汇总

《面向对象程序设计》课程作业及答案汇总

《面向对象程序设计》课程作业及答案作业1:是非题1. 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。

1. 错2. 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。

4. 对填空题下面是一个求数组元素之和的程序。

主程序中定义并初始化了一个数组,然后计算该数组各元素的和,并输出结果。

函数sum计算数组元素之和。

填充程序中不完整的部分。

________A__________int sum(int [],int;void main({int ia[5] = {2,3,6,8,10};B ;sumOfArray = sum(ia,5;cout << "Sum of array:" << sumOfArray << endl;}int sum(int array[],int len{int iSum = 0;for(int i = 0; C ; DE ;return iSum;}答案:A #includeB int sumOfArray;C i < lenD i++E iSum += array[i];阅读理解题写出下列程序的运行结果://file1.cppstatic int i = 20;int x;static int g(int p{return i + p;}void f(int v{x=g(v;}//file2.cpp#includeextern int x;void f(int;void main({int i=5;f(i;cout << x;}回答以下问题:1. 程序的运行结果是什么样的?2. 为什么文件file2.cpp中要包含头文件?3. 在函数main(中是否可以直接调用函数g(?为什么?4. 如果把文件file1.cpp中的两个函数定义的位置换一下,程序是否正确?为什么?5. 文件file1.cpp和file2.cpp中的变量i的作用域分别是怎样的?在程序中直接标出两个变量各自的作用域。

面向对象程序设计含答案

面向对象程序设计含答案
}。
int example::count=0。
cout.setf(ios::left)。
cout<<x<<endl。
cout.width(15)。
cout.setf(ios::right,ios::left)。
cout<<x<<endl。
cout.setf(ios::showpos)。
cout<<x<<endl。
cout<<-x<<endl。
cout.setf(ios::scientific)。
~Dog(){}
// Accessors
BREED GetBreed() const { return itsBreed。}
void SetBreed(BREED breed) { itsBreed = breed。}
// Other methods
void WagTail() const { cout << "Tail wagging...\n"。}
(3)按要求进行绘画
(4)恢复旧画笔pDC->SelectObject(oldPen)。
三、阅读下列程序,写出执行结果。(40分,每题5分)
1、#include<iostream.h>
class Abc
{public:
Abc( ){a=0。b=0。c=0。}
Abc(inti,int j,int k){a=i。b=j。c=k。}
9、CPaintDC是_CDC__类中最常用的派生类,它只能使用在CView类的_OnDraw__函数中。
10、消息WM_MOUSEMOVE的消息响应函数的函数名为_OnMouseMove___。

面向对象程序设计课程作业参考答案

面向对象程序设计课程作业参考答案

面向对象程序设计课程作业参考答案1.第1题下面程序的运行结果为( ) 以下是引用片段:#include<iostream.h> void main() { for(int a=0,x=0;!x&&a<=10;a++) { a++; }cout < < a ;}A.10B.11C.12D.0您的答案:C题目分数:3此题得分:3.02.第2题do语句能够改写为()语句。

A.复合B.ifC.switchD.while您的答案:D题目分数:3此题得分:3.03.第3题下面描述中,表达错误的是()A.公有继承时基类中的public成员在派生类中仍是public的B.公有继承是基类中的private成员在派生类中仍是private的C.公有继承时基类中的protected成员在派生类中仍是protected的D.私有继承时基类中的public成员在派生类中是private的您的答案:B题目分数:3此题得分:3.04.第4题下列关于模板的说法正确的是( )A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数您的答案:D题目分数:3此题得分:3.05.第5题下面程序的运行结果是( ) 以下是引用片段:#include<iostream.h> void main(){ int num=1; int &ref=num; ref=ref+2; cout < < num; num=num+3; cout< < num; }A.13B.16C.36D.33您的答案:C题目分数:3此题得分:3.06.第6题下列()的调用方式是引用调用。

A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值您的答案:C题目分数:3此题得分:3.07.第7题下列虚基类的声明中正确的是()A.class virtual B: public AB.class B: virtual public AC.class B: public A virtualD.virtual class B: public A您的答案:B题目分数:3此题得分:3.08.第8题以下正确的说法是()。

(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案1:[单选题]执行下列语句后,变量x的值是:()int x = 7, y = 10;switch (x / y) {case 0:x++;case 7:x *= y;case 14:x += y;break;default:x %= y;}A:8B:70C:80D:90参考答案:D2:[单选题]以下由for语句构成的循环的执行次数是:()for (int i=0; i<=0; i=i) ;A:有语法错,不能执行B:一次也不执行C:执行1次D:无限次参考答案:D3:[单选题]设有定义int i=7;char ch='b'; 下面赋值语句中不正确是:()A:i = ch;B:ch = i;C:ch = (char)i;D:i = (int)ch;参考答案:B4:[单选题]设有定义int i=80, j=7; double d=80.7;下列语句中正确的赋值语句是:()A:i = d;B:i = (int)d + j;C:j = (int)i - d;D:i + j = (int)d;参考答案:B5:[单选题]以下关于Java语言的叙述错误的是:()A:Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面B:Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行C:Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行D:Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量参考答案:B6:[单选题]下列选项中,用于声明实现一个接口关键字是:()A:interfaceB:implementsC:importD:abstract参考答案:B7:[单选题]Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点:()A:多线程B:与平台无关C:面向对象D:分布式参考答案:B8:[单选题]下列不属于Java语言关键字的是:()A:repeatB:tryC:breakD:new参考答案:A9:[单选题]下列字符序列中可以作为Java语言标识符的是:()A:trueB:123_xyzC:x.yD:_x123参考答案:D10:[单选题]下列字符序列中不能作为Java语言标识符的是:()A:abc_123B:圆周率PIC:falseD:_123abc参考答案:C1:[单选题]下列语句序列给出了k,myArr和myMethod()的声明。

第三章-面向对象程序设计(答案)

第三章-面向对象程序设计(答案)

一、判断题1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。

对2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。

对3、接口中的成员变量全部为常量,方法为抽象方法。

对4、抽象类可以有构造方法,可以直接实例化。

错5、对static方法的调用可以不需要类实例。

对6、包含抽象方法的类一定是抽象类。

对7、方法中的形参可以和方法所属类的属性同名。

对8、接口无构造器,不能有实例,也不能定义常量。

错9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。

对10、Java应用程序的入口main方法只有一种定义法。

对二、选择题1、下列答案正确的是(A)A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为publicB) 在同一个Java源文件中只能包含一个类,并被声明为publicC) 在同一个Java源文件中可以包含多个类,都可以被声明为publicD) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default2、Java实现动态多态性是通过( B )实现的。

A) 重载B) 覆盖C) 接口D) 抽象类3、下列哪一个是正确的方法重载描述(A)A) 重载方法的参数类型必须不同B) 重载方法的参数名称必须不同C) 返回值类型必须不同D) 修饰词必须不同4、final关键字不可以用来修饰( D )A) 类B) 成员方法C) 域D) 接口5、接口的所有成员方法都具有( B )属性A) private, final B) public, abstractC) static, protected D) static6、Java的封装性是通过(A)实现的A) 访问控制B) 设计内部类C) 静态域和静态方法D) 包7、下列接口或类不属于java.util.*包的是( D )A) Collection B) V ector C) Map D) Integer8、下述哪一组方法,是一个类中方法重载的正确写法?(A)A) int addV alue( int a, int b ){return a+b;}float addV alue ( float a, float b) {return a+b;}B) int addV alue (int a, int b ){value=a+b; }float addV alue ( int a, int b) {return (float)(a+b);}C) int addV alue( int a, int b ){return a+1;}int addV alue ( int a, int b) {return a+b;}D) int addV alue( int a, int b ) {return a+b;}int addV alue ( int x, int y ) {return x+y;}9、下列说法哪个是正确的?( C )A) 子类不能定义和父类同名同参数的方法B) 子类只能继承父类的方法,而不能重载C) 重载就是一个类中有多个同名但有不同形参和方法体的方法D) 子类只能覆盖父类的方法,而不能重载10、对于下列代码:public class Parent {public int addV alue( int a, int b) {int s;s = a+b;return s;}}class Child extends Parent {}下述哪个方法不可以加入类Child? ( B )A) public int addV alue( int a, int b,int c ){// do something...}B) public void addV alue (int a, int b ){// do something...}C) public int addV alue( int a ){// do something...}D) public int addV alue( int a, int b ) {//do something...}11、以下程序段输出结果的是( B )public class A implements B {public static void main(String args[]) {int i;A c1 = new A();i= c1.k;System.out.println("i="+i);}}interface B {int k = 10;}A) i=0 B) i=10 C) 程序有编译错误D) i=true12、阅读下面的程序,输出结果是( B )public class TestDemo {int m=5;public void some(int x) {m=x;}public static void main(String args []) {new Demo().some(7);}}class Demo extends TestDemo {int m=8;public void some(int x) {super.some(x);System.out.println(m);}}A) 5 B) 8 C) 7 D) 编译错误13、下述哪个说法是不正确的?(A)A) 局部变量在使用之前无需初始化,因为有该变量类型的默认值B) 类成员变量由系统自动进行初始化,也无需初始化C) 参数的作用域就是所在的方法D) for语句中定义的变量,当for语句执行完时,该变量就消亡了14、下述那一个保留字不是类及类成员的访问控制符。

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案《面向对象程序设计》作业及答案作业一1.类和对象的概念和关系是什么?对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。

一个对象由一组属性和对这组属性进行操作的一组服务组成,类是具有相同属性和服务的一组对象的集合。

类是对象的模板,对象是类的实例2.用UML表示交通工具Vehicle类及名为car1,car2及car3的三个Vehicle对象3.简述对象之间的消息传递机制是如何实现的?当程序运行时,我们使用类和由类生成的对象来完成任务。

而要命令类或对象执行某项任务,就需要给它发送一条消息(message)。

为了能够处理所接收到的消息,类或对象必须拥有相应的方法(method)。

一个方法就是一个指令序列,也就是一段程序代码,类似于C语言中的函数。

为类定义的方法称为类方法(class method),为对象定义的方法称为实例方法(instance method)。

类方法可以通过类直接调用,实例方法则必须先创建类的实例才能够调用。

4.import语句的用途是什么?Java程序是否总要包括import语句?import保留字用于引入其他包中的类。

Java如果使用的都是同一包的类的话则不需要import保留字。

5.什么是Java的源文件?什么是字节码文件?Java的源文件是以.java结尾的文本文件,字节码文件是将Java源文件经过Java编译器编译后的文件,字节码文件不能直接运行,只能运行于Java虚拟机之上。

6.Java虚拟机是什么?它有作用是什么?Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。

Java语言的一个非常重要的特点就是与平台的无关性。

而使用Java 虚拟机是实现这一特点的关键。

一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。

而引入Java 语言虚拟机后,Java 语言在不同平台上运行时不需要重新编译。

Java 语言使用模式Java 虚拟机屏蔽了与具体平台相关的信息,使得Java 语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java面向对象程序设计—习题和答案

Java面向对象程序设计—习题和答案
访问权限可分为4种:公共类型、私有类型、默认类型和保护类型
4.11
1.被继承的类一般称为___________或___________,继承的类称为___________。
2.在继承中发生的强制类型转换为___________。
3.设有下面两个类的定义:
class Person {}
class Student extends Person {
AWT是随早期Java一起发布的GUI工具包,是所有Java版本中都包含的基本GUI工具包,其中不仅提供了基本的控件,并且还提供了丰富的事件处理接口。Swing是继AWT之后Sun推出的又一款GUI工具包。Swing建立在AWT 1.1的,也就是说AWT是Swing大厦的基石
6.适配器是指实现了一个或多个监听接口的类,适配器类为所有的事件处理方法都提供了空实现。实际开发中在编写监听器代码时不再直接实现监听接口,而是继承适配器类并重写需要的事件处理方法,这样就避免了大量编写不必要代码的情况
}
则顺序执行如下语句后输出结果为:()
Father a;
Child b;
A、我是父类B、我是子类
我是子类我是父类
C、我是父类D、我是子类
我是父类我是子类
5.什么时覆盖,它有什么优点
6.this和super的作用是什么
7.什么是动态绑定
答案:
1.超类、父类、子类
2.引用类型转换
3.B
4.A
5.子类其自身的方法中,若与继承过来的方法具有相同的签名,便构成了方法的覆盖(有的资料称之为方法的重写)。覆盖的主要优点是能够定义各子类的特有行为
public static void main(String[] args) {
String s = "C://myFile/a/b/c/d/a.text";

面向对象程序设计平时作业题及参考答案-part1

面向对象程序设计平时作业题及参考答案-part1

//////////////////////////////////////////////////////////////////////////////// Java Java ”BA.B.C.D.//////////////////////////////////////////////////////////////////////////////// Java BA.JavaB.Java Java JavaC.Java JavaD.Java//////////////////////////////////////////////////////////////////////////////// Java CA.abc_123B. PIC.falseD._123abc//////////////////////////////////////////////////////////////////////////////// Java DA.trueB.123_xyzC.x.yD._x123//////////////////////////////////////////////////////////////////////////////// Java AA.repeatB.tryC.breakD.new//////////////////////////////////////////////////////////////////////////////// BA.interfaceB.implementsC.importD.abstract//////////////////////////////////////////////////////////////////////////////// int i=80, j=7; double d=80.7; BA.i = d;B.i = (int)d + j;C.j = (int)i - d;D.i + j = (int)d;//////////////////////////////////////////////////////////////////////////////// int i=7;char ch='b'; BA.i = ch;B.ch = i;1C.ch = (char)i;D.i = (int)ch;//////////////////////////////////////////////////////////////////////////////// for Dfor (int i=0; i<=0; i=i) ;A.B.C.D.//////////////////////////////////////////////////////////////////////////////// Dint x=7, y=10;switch( x/y ) {case 0: x++;case 7: x*=y;case 14: x+=y; break;default: x%=y;}A.8B.70C.80D.90//////////////////////////////////////////////////////////////////////////////// , AA.publicB.extendsC.voidD.private//////////////////////////////////////////////////////////////////////////////// BA.B.C.D.//////////////////////////////////////////////////////////////////////////////// String DA.String str2 = “” ;B.String str1 = new String( );C.String str4 = “” + 123;D.String str3 = new String(123);//////////////////////////////////////////////////////////////////////////////// ???? myArr myMethod() myMethod(myArr,k) myArr Dint k = 7;String myArr[] = {"love", "peace", "and"};void myMethod(String a[], int m) {String temp = a[1];a[1] = a[2];2a[2] = temp;m = a[2].length();}A.{"peace", "love", "and"} 4B.{"peace", "love", "and"} 7C.{"love", "and", "peace"} 5D.{"love", "and", "peace"} 7myArr myMethod() myMethod(myArr, k) myArrint k = 7;String myArr[] = {"love", "peace", "and"};void myMethod(String a[], int m) {String temp = a[1];a[1] = a[2];a[2] = temp;m = a[2].length();}myArr {"love", "and", "peace"}7public class Test2 {static int k = 7;static String myArr[] = {"love", "peace", "and"};void myMethod(String a[], int m) {String temp = a[1];a[1] = a[2];a[2] = temp;m = a[2].length();}public static void main(String args[]) {Test2 test = new Test2();test.myMethod(myArr, k);for(int i=0; i<myArr.length; i++) {System.out.println(myArr[i]);}System.out.println(k);}}//////////////////////////////////////////////////////////////////////////////// b1 b2 b3 b4 CString s1 = “peace”;String s2 = new String(s1);String s3 = s2;String s4 = new String(“PEACE”);boolean b1 = (s1 == s2);boolean b2 = s1.equals(s2);boolean b3 = (s3 == s2);boolean b4 = s4.equals(s3);3A.true true false falseB.false true true trueC.false true true falseD.false true false false//////////////////////////////////////////////////////////////////////////////// DA.BoxLayoutB.FlowLayoutC.CardLayoutD.BorderLayout//////////////////////////////////////////////////////////////////////////////// Swing BA.JApplet JPanel JWindowB.JDialog JApplet JFrameC.JApplet JFrame, JMenuD.JFrame JPanel JTextArea//////////////////////////////////////////////////////////////////////////////// Java Applet AA.java.applet.Applet JavaB.JavaC.Java main()D.Java ActionListener//////////////////////////////////////////////////////////////////////////////// CA.B.C.D.////////////////////////////////////////////////////////////////////////////////public class Test1 {public int method(int n) {int result = 1;for(int i = 1; i <= n; i++) {result *= n;}return result;}public static void main(String args[]) {Test1 test = new Test1( );int sum = 0 ;for (int i = 1; i <= 3; i++)sum += test.method(i) ;System.out.println("sum = " + sum);}}sum = 324////////////////////////////////////////////////////////////////////////////////public class Test1 {public int method(int n) {int result = 1;for (int i=1; i<=n; i++) {result *= i;}return result;}public static void main(String args[]{Test1 test =new Test1( );int sum[] = new int[6];for (int i=1; i<=5; i++) {sum[i] = test.method(i) ;System.out.print(sum[i] + " ");}}}1 2 6 24 120////////////////////////////////////////////////////////////////////////////////public class Test2 {public static char method(char ch) {if((ch>='A') && (ch<='Z'))return (char)(ch + 32);else return ch;}public static void main(String[] args) {String s= "0123456789ABCDEF",s1="";for (int i=s.length()-1; i>=0; i--)s1 = s1 + method(s.charAt(i));System.out.println(s1);}}fedcba9876543210////////////////////////////////////////////////////////////////////////////////public class Test2 {public String method(String s) {StringBuffer result = new StringBuffer();for (int k = s.length() - 1; k >= 0; k--) {result.append(s.charAt(k));}return result.toString();}public static void main(String args[]) {Test2 test = new Test2();String str = "peace";System.out.println(test.method(str));}}5ecaep////////////////////////////////////////////////////////////////////////////////Test3 SuperTestsuper thisclass SuperTest {public int age ;public SuperTest( String s ) {System.out.println("Hi, I am " + s);age = 35;}}public class Test3 extends SuperTest {public int age;public Test3 ( String s ) {super( s );System.out.println("Nice to meet you!");age = 7;}public void print() {System.out.println( "Age is " + age );System.out.println( "My age is " + this.age );System.out.println( "My parent's age is " + super.age );}public static void main( String args[ ] ) {Test3 test = new Test3(“Olive”);test.print();}}Test3 SuperTest SuperTest Test3super thisHi, I am OliveNice to meet you!Age is 7My age is 7My parent’s age is 35////////////////////////////////////////////////////////////////////////////////Child Parentsuper thisclass Parent {public void printMe( ) {System.out.println("parent");}6}class Child extends Parent {public void printMe( ) {System.out.println("child");}public void printAll( ) {super.printMe( );this.printMe( );}}public class Test3 {public static void main(String args[ ]) {Child myC = new Child( );myC.printAll( );}}Child Parent Parent Childsuper ;thisparentchild////////////////////////////////////////////////////////////////////////////////tryDataOutputStream DataInputStreamout.txt out.txtimport java.io.* ;public class Test4 {public static void main( String args[ ]) {try {DataOutputStream dout = new DataOutputStream(new FileOutputStream(“out.txt”));for(int i = 0; i < 10; i++)dout.writeInt( ‘0’ + i);dout.close( );DataInputStream din = new DataInputStream(new FileInputStream(“out.txt”));for(int i = 0; i < 10; i++)System.out.print( din.readInt( ) - ‘0’ + ”, ” );din.close( );} catch ( IOException e ) {System.err.println( “ ” + e );e.printStackTrace( );}}}7new FileOutputStream(“out.txt”)dout.writeInt( ‘0’ + i);dout.close( );new FileInputStream(“out.txt”)din.readInt( )din.close( );out.txt 0 1 2 3 4 5 6 7 8 9////////////////////////////////////////////////////////////////////////////////Java JavaActionListener ActionListenerimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Test4 extends JApplet implements ActionListener{private Container cp = getContentPane();;private JLabel prompt = new JLabel(" ");private JButton start = new JButton(" ");private JTextField output = new JTextField(20);public void init( ){cp.setLayout(new FlowLayout());cp.add(start);cp.add(prompt);cp.add(output);output.setEditable(false);start.addActionListener(this);}public void actionPerformed(ActionEvent e){if ((JButton)e.getSource( ) == start )output.setText(" ");}}Java Java Java application Java Java applet ; JavaJLabel JButton JTextField ;ActionListener ; actionPerformed() ActionListener ; applet//////////////////////////////////////////////////////////////////////////////// 61 100 “score.txt”8import java.io.DataOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class TestSort {public static int MAXSIZE = 61;//public static void sortInt(int[] arr) {// for(int i=0; i<arr.length-1; i++) {int k = i;for(int j=i+1; j<arr.length; j++)if (arr[j] < arr[k]) k = j;//if (k>i) {//arr[i] = arr[i] + arr[k];arr[k] = arr[i] - arr[k];arr[i] = arr[i] - arr[k];}}}public static void main(String args[]) {int score[] = new int[MAXSIZE];// try-catchtry {for (int i = 0; i < MAXSIZE; i++)score[i] = (int)(Math.random() * 100 + 0.5); //sortInt(score);//DataOutputStream dout = new DataOutputStream(newFileOutputStream("score.txt"));for(int i=0; i < MAXSIZE; i++) {dout.writeInt(score[i]);System.out.println(score[i]);}dout.close( );} catch(IOException e) {System.err.println(" " + e);e.printStackTrace( );}}}////////////////////////////////////////////////////////////////////////////////(5,10) 15(0,0) 15//9interface Shapes {abstract double getArea();abstract double getPerimeter();}// Squareclass Square implements Shapes {public int x, y;public int width, height;public double getArea() {return (width * height);}public double getPerimeter() {return (2 * width + 2 * height);}public Square(int x, int y, int width, int height) {this.x = x;this.y = y;this.width = width;this.height = height;}}// Circleclass Circle implements Shapes {public int x, y;public double radius;public double getArea() {return (radius * radius * Math.PI);}public double getPerimeter() {return (2 * Math.PI * radius);}public Circle(int x, int y, double r) {this.x = x;this.y = y;this.radius = r;}}//public class TestShape {public static void main(String[] args) {Shapes s1 = new Square(5, 10, 15, 15);Shapes s2 = new Circle(0, 0, 6.0);System.out.println(" : " + s1.getArea());System.out.println(" : " + s1.getPerimeter());System.out.println(" : " + s2.getArea());System.out.println(" : " + s2.getPerimeter());}}//////////////////////////////////////////////////////////////////////////////// "peace&love" Application Applet10public class PeaceLove {public static void main(String[] args) {System.out.println("peace&love");}}import java.applet.Applet;import java.awt.Graphics;public class PeaceLoveApplet extends Applet {public void paint(Graphics g) {g.drawString("peace&love", 10, 10);}}//////////////////////////////////////////////////////////////////////////////// Java Applet “abc123XYZ”, “zyx321CBA”// importimport java.awt.*;import java.awt.event.*;import java.applet.*;public class StringApplet extends Applet implements ActionListener { // //private Label prompt = new Label("Input a String and <ENTER> or Press the Button");private TextField input = new TextField(15);private TextArea display = new TextArea(15, 50);private Button convert = new Button("Convert!");// init()public void init() {input.addActionListener(this);convert.addActionListener(this);display.setEditable(false);add(prompt);add(input);add(convert);add(display);}//public String convert(String str) {StringBuffer resultStr = new StringBuffer();char ch;for (int i = str.length() - 1; i >= 0; i--) {ch = str.charAt(i);if ((ch >= 'A') && (ch <= 'Z'))//resultStr.append((char) (ch + 32));else if ((ch >= 'a') && (ch <= 'z'))//11resultStr.append((char) (ch - 32));elseresultStr.append(ch);}return resultStr.toString();}// actionPerformed()public void actionPerformed(ActionEvent e) {display.append(convert(input.getText()) + "\n");}}Java Application “abc123XYZ”, “zyx321CBA” // importimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class StringConvert extends JFrame implements ActionListener { //private JTextField input = new JTextField(15);private JButton convert = new JButton(" <-> + ");private JTextField display = new JTextField(15);//public StringConvert () {Container c = getContentPane();c.setLayout(new FlowLayout());c.add(input);c.add(convert);c.add(display);convert.addActionListener(this);}//public void actionPerformed(ActionEvent e) {display.setText(convert(input.getText()) + "\n");}//public String convert(String str) {StringBuffer resultStr = new StringBuffer();char ch;for (int i = str.length() - 1; i >= 0; i--) {ch = str.charAt(i);if ((ch >= 'A') && (ch <= 'Z'))//resultStr.append((char) (ch + 32));else if ((ch >= 'a') && (ch <= 'z'))//resultStr.append((char) (ch - 32));12elseresultStr.append(ch);}return resultStr.toString();}//public static void main(String args[ ]) {StringConvert f =new StringConvert();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setSize(640, 160);f.setVisible(true);}}//////////////////////////////////////////////////////////////////////////////// “=”// importimport javax.swing.*;import java.awt.*;import java.awt.event.*;public class Multiply extends JFrame implements ActionListener {//private JButton operator = new JButton(" * ");private JTextField input1 = new JTextField(5);private JTextField input2 = new JTextField(5);private JButton equal = new JButton(" = ");private JTextField result = new JTextField(5);//public Multiply () {Container c = getContentPane();c.setLayout(new FlowLayout());c.add(input1);c.add(operator);c.add(input2);c.add(equal);c.add(result);equal.addActionListener(this);}//public void actionPerformed(ActionEvent e) {double operand1 = Double.valueOf(input1.getText()).doubleValue();double operand2 = Double.valueOf(input2.getText()).doubleValue();result.setText(String.valueOf(operand1*operand2));}//public static void main(String args[ ]) {13Multiply f = new Multiply();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setSize(320, 80);f.setVisible(true);}}////////////////////////////////////////////////////////////////////////////////class SuperClass {int data;SuperClass() {System.out.println("SuperClass::constructor: data=" + data);add(1);System.out.println("SuperClass::constructor: data=" + data);}public void add(int i) {data += i;}public void print() {System.out.println(data);}}class SubClass extends SuperClass {SubClass() {System.out.println("SubClass::constructor: data=" + data);add(2);System.out.println("SubClass::constructor: data=" + data);}public void add(int i) {data += i*2;}}class Test {public static void method(SuperClass a) {a.add(6);a.print();}public static void main(String[] args) {method(new SubClass());}}SuperClass::constructor: data=0SuperClass::constructor: data=2SubClass::constructor: data=2SubClass::constructor: data=6181415。

面向对象程序设计试题及答案

面向对象程序设计试题及答案

面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。

2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。

3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。

4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。

5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。

6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。

7. 请解释类(Class)与对象(Object)之间的关系。

8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。

9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。

二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。

2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。

(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。

(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。

(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。

3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。

封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。

(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。

(3)降低模块之间的耦合度,提高代码的灵活性。

4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。

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

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

面向对象程序设计一、选择填空1.关于C++与C语言的关系描述中,(D)是错误的。

(A)C语言是C++的一个子集(B)C语言与C++是兼容的(C)C++对C语言进行了一些改进(D)C++和C语言都是面向对象的2.下面关于对象概念的描述中,(B)是错误的。

(A)对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3.下面关于类概念的描述中,(D)是错误的。

(A)类是抽象数据类型的实现(B)类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4.按照标识符的要求,(A)符号不能组成标识符。

(A)连接符(B)下划线(C)大小写字母(D)数字字符5.下列符号中,(C)不可作为分隔符。

(A), (B):(C)?(D);6.在16位机中,int型字宽为(A)字节。

(A)2 (B)4 (C)6 (D)87.类型修饰符unsigned修饰(D)类型是错误的。

(A)char (B)int (C)long int (D)float8.对于int *pa[5];的描述,(D)是正确的。

(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。

9.下列关于指针的运算中,(D)是非法的。

(A)两个指针在一定条件下,可以进行相等或不等的运算。

(B)可以有一个空指针赋值给某个指针。

(C)一个指针可以加上一个整数。

(D)两个指针在一定条件下,可以相加。

10.指针可以用来表示数组元素,下列表示中(A)是错误的。

已知:int a[3][7];(A)*(a+1)[5] (B)*(*a+3) (C)*(*(a+1)) (D)*(&a[0][0]+2) 11.下列表示引用的方法中,(A)是正确的。

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案习题一5、分析下面程序运行的结果。

#using namespace std;int main(){cout<<”This”<<”is”;cout<<”a”<<”C++”;cout<<”program.”<<endl;< p="">return 0;}输出结果:ThisisaC++program.6、分析下面程序运行的结果。

#includeusing namespace std;int main(){int a,b,c;a = 10;b = 23;c = a + b;cout<<'a + b =";cout<<c;< p="">cout<<endl;< p="">return 0;}输出结果:a + b = 338、在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。

修改后的程序如下:#includeusing namespace std;int main(){int a, b;a =b = 0;int c = a + b;cout<<”a + b =”<return 0;}9、输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。

修改后的程序如下:#includeusing namespace std;int add(int x,int y);int main(){int a = 0, b = 0;int c = add(a,b);cout<<" a + b ="<<c<<endl;< p="">return 0;}int add(int x,int y){int z = x + y;return z;}习题二1、请检查下面的程序,找出其中的错误(先不要上机,在纸面上作人工检查),并改正之。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++版本:
C#版本:
Java版本:
三、求解长方体的体积及面积
验证:在主函数中实例化长方形,调用其面积和体积的行为。
C++版本:
C#版本:
Java版本:
四、张三使用计算器计算四则运算
提示:
A、计算器是对象,有属性:数字、运算符;
有行为:计算,得到结果
B、张三是对象,有属性:姓名
有行为:使用(计算器)
PS:假设销售额固定为5000
C++版本:
C#版本:
Java版本:
PS:
1、父类中定义printArea方法,分别在2个子类中定义printAr化后赋值给父类
C++版本:
C#版本:
Java版本:
七、某跨国集团人力资源部门需要编写一个程序用来计算工资(Calculate),其中基本工资为8000元/月,然后根据每个员工的工作情况实际结算不同的工资。初级员工是(Employee)实行定额工资8000元/月;中级员工(MiddleEmployee),他们的工资是基本工资+绩效(销售额(salesAmount)的5%);高级员工(HighEmployee)的基本工资则是基本工资+绩效(销售额(salesAmount)的10%)。
面向对象程序设计作业及其答案
一、定义类:Person,其拥有三个属性姓名(name)、年龄(age)、性别(sex);其拥有一个行为:eat()输出某某人在吃饭
验证:在主函数中实例化小明,调用其吃饭的行为。
答案
C++版本
C#版本:
Java版本:
二、求解圆的面积
验证:在主函数中实例化圆,调用其面积的行为。
C++版本:
C#版本:
Java版本:
五、定义一个类CalculateFirst,实现加、减两个方法,
然后再定义一个派生类CalculateSecond,实现乘、除两个方法。
思考:两个属性:第一个数、第二个数定义在哪个类中?
C++版本:
C#版本:
Java版本:
六、定义父类Shape,由它派生出2个子类:Circle(圆形)、Rect(矩形),用一个函数printArea分别输出以上两者的面积(属性值暂时写成固定数字)。
相关文档
最新文档