面向对象程序设计
《面向对象程序设计》综合复习资料
一、判断题(正确打√,错误打×)
1、类及其属性、方法不能同时有一个以上的修饰符来修饰。
2、对象可以赋值,赋值的结果是2个对象实际上是同一个对象。
3、在异常处理中,1个try只能对应1个catch语句。
4、Java中,创建对象用new,但无需释放无用的对象。
5、Java的屏幕坐标以像素为单位,容器的右下角被确定为坐标的起点。
6、在定义数组变量时不能直接进行内存分配,必须使用new来生成数组。
7、成员变量,可通过类名直接访问,也可通过该类的对象访问。
8、类定义时可以不定义构造函数。
9、Java和C一样都是编译型语言。
10、一个Java类可以实现多个接口。
11、一个抽象类不能直接用new命令创建对象。
12、Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
13、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。
14、一个类中可以定义多个构造方法。
15、final类不能派生子类,final方法不能被子类改写。
16、一个Java源文件中允许有多个public类。
17、使用方法length( )可以获得字符串或数组的长度。
18、容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
19、Java Applet是由独立的解释器程序来运行的。
二、选择题
1、下面表达式中,用来访问数组中第一个值的是()。
A、int Array[0]
B、int Array.1
C、int Array[1]
D、int Array.0
2、阅读以下代码,回答下面问题:
for (int x=10; x>0; x--) { System.out.println(i); }
在这段代码中,每一次循环时,首先执行()语句。
A、int x=10
B、x>0
C、x--
D、System.out.println(i)
3、用来区别每一个switch分支的保留字是()。
A、choice
B、condition
C、case
D、break
4、下面数据类型中()占用的空间最大。
A、float
B、int
C、byte
D、double
5、如果定义一个名为apple的类,那么存储这个类的源文件名是()。
A、apple.java
B、apple.byte
C、apple.class
D、apple
6、在Java语言中,单选框类名是()。
A、Label
B、Checkbox
C、Button
D、CheckButton
7、假设有一个列表框listbox1,要在其最后添加一项,应使用()语句。
A、listbox.add("The end item", 0)
B、listbox.add("The end item", 10)
C、listbox.add("The end item", -1)
D、listbox.add("The end item", 1)
8、在程序中(),就能够防止因为在一行中输入过多的文本,而使文本区ta变宽。
A、不需要做任何考虑
B、ta.noWrap()
C、ta.setLineWrap(false)
D、ta.setLineWrap(true)
9、使用()位置参数,能够使一个部件位于容器的右边。
A、BorderLayout.EAST
B、BorderLayout.WEST
C、BorderLayout.NORTH
D、BorderLayout.RIGHT
10、如果想让某方法不能被任何外部类访问,应使用访问说明符()定义。
A、public
B、private
C、default
D、protected
11、边框布局管理器将一个“容器”分成了()个位置。
A、9个
B、3个
C、5个
D、4个
12、()是网格布局管理器。
A、BorderLayout
B、FlowLayout
C、ReseauLayout
D、GridLayout
13、()为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
14、当一个部件有一个事件发生,但并没有为这个部件的这个事件指定事件监测器,将会发生()。
A、编译时就不会通过
B、忽略这个事件
C、引起Java程序发生致命错误
D、引发默认的事件处理
15、下面()是Java语言中的关键字。
A、sizeof
B、NULL
C、abstract
D、Native
16、在Java语言中,()包是编译器自动导入的。
A、java.applet
B、java.awt
C、java.io
D、https://www.360docs.net/doc/559524300.html,ng
17、以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
18、给出下面代码:
public class Person{
static int arr[] = new int[10];public static void main(String a[])
{System.out.println(arr[1]);}
}
正确的语句是()。
A、编译时将产生错误
B、输出0
C、编译时正确,运行时将产生错误
D、输出空
19、给出下面代码段:
1) public class Test {
2) int m, n;
3) public Test() { }
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) {
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、line 5
B、line 4
C、line 10
D、line 6
20、对于下列代码:
1) class Person {
2) public void printValue(int i, int j) {//... }
3) public void printValue(int i){//... }
4) }
5) public class Teacher extends Person {
6) public void printValue() {//... }
7) public void printValue(int i) {//...}
8) public static void main(String args[]){
9) Person t = new Teacher();
10) t.printValue(10);
11) }
12) }
第10行语句将调用()语句。
A、line 2
B、line 7
C、line 6
D、line 3
21、结构化程序设计的一种基本方法是()。
A、筛选法
B、递归法
C、归纳法
D、逐步求精法
22、下列()表达的类声明是正确的。
A、abstract final class HI{……}
B、abstract private move(){……}
C、protected private number;
D、public abstract class Car{……}
23、public class Test2006
public static void main(String args[]) { System.out.println(~(0xa5)&0xaa); }
}
其运行结果是()。
A、0xa5
B、10
C、0x50
D、0xaa
24、异常包含()。
A、程序中的语法错误
B、程序的编译错误
C、程序执行过程中遇到的事先没有预料到的情况
D、程序事先定义好的可能出现的意外情况
25、如果希望所有的控件在界面上均匀排列,应使用下列()布局管理器。
A、BoxLayout
B、GridLayout
C、BorderLayout
D、FlowLayout
26、Java语言使用的字符码集是()。
A、ASCII
B、BCD
C、DCB
D、Unicode
27、阅读下列代码
public class Test {
public static void main(String args[]){ System.out.println(89>>1); }
}
其运行结果是()。
A、44
B、45
C、88
D、90
28、用来导入已定义好的类或包的语句是()。
A、main
B、import
C、public class
D、class
29、下列属于合法的Java标识符是()。
A、"ABC"
B、&5678
C、+rriwo
D、saler
30、下列代表16进制整数的是()。
A、0123
B、1900
C、fa00
D、0xa2
三、填空题
1、在面向对象方法学中,直接反映了用户对目标系统的要求的模型是。
2、下面程序对数组中每个元素赋值,然后按逆序输出。请在横线处填入适当内容,使程序能正常
运行。
public class ArrayTest {
public static void main(String args[]) {
int i;int a[] = new int[5];
for(i=0;i<5;i++) a[i]=i;
for( ; i>=0; i--)
System.out.println("a["+i+"]="a[i]);
}
}
3、任何一个Java程序都默认引入了一个包,这个包的名字叫java. 。
4、Java语言中,移位运算符包括:>>、<<和。
5、能将显示空间分成很多层的布局管理器是。
6、构件不能独立地显示出来,必须将构件放在一定的中才能显示。
7、Java语言中,有一个类是所有类或接口的父类,这个类的名称是。
8、在1个Java源文件中定义了3个类和15个方法,编译它时会产生个字节码文件,其扩展名是。
9、Applet生命周期方法有init( )、、stop( )和destroy( )。
四、简答题
1、简述关键字this与super的区别。
2、简述多态性中重载(overload)与覆盖(override)的区别。
3、简述if/else与switch/case语句的区别。
4、Overload和Override有什么区别?
5、abstract class和interface有什么区别?
五、编程题
1.利用数组求出Hello、Java、Program这3个字符串的平均长度。
2.编写一个字符界面的程序,计算1+1/2!+1/3!+1/4!+…的前30项的和,并输出所求的和。
3.编写一个字符界面的程序,通过键盘输入1个年份,判断该年是否为闰年。
4.编写一个字符界面的程序,构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y 两个坐标,以及一些对点进行的操作,包括:
public Point getPoint( ):取得点的坐标值;
public void setPoint(Point point):对点的坐标进行赋值。
请设计一个字符界面的程序,用来找出1~1000以内的完全数。
5.所谓完全数指的是其所有因子和(包括1而不包括其自身)等于自身的整数。
如:28=1+2+4+7+14,1、2、4、7、14都是28的因子,所以28是一个完全数。
6.已知一组数字:21,25,11,32,12,35,55,77,66,要求按以下规则进行排序:
第1个数最大,第2个数最小,第3个数字是剩下中的最大的,第4个数字是剩下的最小的,依次类推。
请设计一个字符界面的程序对此组数字进行排序。
7.计算1/1+1/2+1/3+……+1/100的值。
8.定义一个计算n!的类Fact,然后在主类中创建一个对象求解12!的值。
《面向对象程序设计》综合复习资料参考答案
一、判断题(正确打√,错误打×)
1、×
2、√
3、×
4、√
5、×
6、√
7、×
8、√
9、×10、√
1、√
2、√
3、√
4、√
5、√
6、×
7、×
8、×
9、×
二、选择题
1、A
2、B
3、C
4、D
5、A
6、B
7、C
8、D
9、A 10、B
11、C 12、D 13、A 14、B 15、C
16、D 17、A 18、B 19、C 20、D
21、D 22、D 23、B 24、C 25、B
26、D 27、A 28、B 29、D 30、D
三、填空题
1、功能模型
2、i=a.Length-1或i=4
3、lang
4、>>>
5、CardLayout
6、容器
7、Object
8、3,.class
9、start
四、简答题
1、参考答案
this代表了当前对象的一个引用,super表示的是当前对象的直接父类对象的引用。
2、参考答案
重载是类对自身中同名方法的重新定义的机制,覆盖是子类对父类中同名方法的重新定义的机制;重载一般采用不同的形参列表、返回值来区别同名方法,覆盖必须与父类有完全相同的形参列表、返回值。
3、参考答案
if/else语句只能实现双分支,switch语句可实现多分支;if/else中的表达式是条件表达式,switch 中的表达式是整数或字符型表达式,且应与case分支的判断值的类型相一致。
4、参考答案
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一
个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
5、参考答案
声明方法的存在而不去实现它的类称为abstract class,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现。不能创建abstract class的实例,但可以创建一个变量,其类型是一个abstract class,并让它指向具体子类的一个实例。abstract class的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。
interface是abstract class的变体,多继承性可通过interface获得。interface只可以定义static final成员变量,interface中的所有方法都是抽象的。interface的实现与子类相似,除了该实现类不能从interface定义中继承行为。。
五、编程题
1.参考答案:
public class Average {
public static void main(String args[]) {
String array[] = new String[3];
array[0] = "Hello";
array[1] = "Java";
array[2] = "Program";
int total = array[0].length();
total += array[1].length();
total += array[2].length();
System.out.println("平均字符串长度为:" + total/3);
}
}
2.参考答案:
public class Sum {
public static void main(String args[ ]) {
int i=1, t=1; double sum=0;
for(i=1; i<=20; i++){ t *= i; sum += 1.0/t; }
System.out.println("Sum=" + sum); }
}
3.参考答案:
import java.io.*;
public class LeapYear {
public static void main(String args[]) throws IOException {
InputStreamReader ir = new InputStreamReader(System.in);
BufferdeReadwe in = new BufferedReader(ir);
String s = in.readLine();
int year=Integer.parseInt(s);
if(year % 4 == 0 && year % 100! == 0) // 或者if(year % 400 == 0)
System.out.println(year + "年是闰年");
else
System.out.println(year + "年不是闰年");}
}
4.参考答案:
public class Point {
int x, y;
public Point(int x, int y) {this.x = x;this.y = y;}
public Point getPoint() {Point tempPoint = new Point(x,y);return tempPoint;}
public void setPoint(Point point) { this.x = point.x;this.y = point.y;}
}
5.参考答案:
public class Perfect {
public static void main(String args[]) {
for(int i=1; i<1000; i++) {
int y = 0;
for(int j = 1; j < i; j++)
if(i % j == 0) y += j;
if(y == i) System.out.print(i + " "));
}
}
}
6.参考答案:
public class Sort {
public static void main(String[] args) {
int t = 0, a[] = { 21, 25, 11, 32, 12, 35, 55, 77, 66 };
int n = a.length;
for(int i=1; i for(int j=i+1; j if(a[i] if(a[i+1]>a[j]) { t=a[j]; a[j]=a[i+1]; a[i+1]=t; } } for(int i=1; i } } 7.参考答案: public class Sum { public static void main( String args[ ]) { double sum = 0.0 ; for ( int i = 1; i <= 100; i + + ) sum += 1.0/i; System.out.println( "sum=" + sum ); } } 8.参考答案: class Fact { int fact(int n) { int i, f = 1; for (i=1; i<=n; i++) f = f * i; return f; } } public class NFact { public static void main(String args[]) { Fact N = new Fact(); System.out.println(N.fact(12)); } } 第1章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性 选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题 (1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为: 程序=对象+消息 在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。 简答题 1、传统的结构化程序设计的优点和缺点是什么? 优点: (1)这种程序设计方法力求算法描述准确。 (2)对每一子过程模块容易进行程序正确性证明。 缺点: (1)这种程序设计方法本质上是面向“过程”的,而“过程”和“操作”又是不稳定和多变的,因此不能直接反映人类求解问题的思路。 (2)程序代码可重用性差。程序中除少数标准库函数外,每设计一个程序时,程序员几乎从零做起。即使重用代码,通常也是通过拷贝或编辑重新生成一份。 (3)维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、什么是对象? 每个对象都具有属性(Attribute)和方法(Method)这两方面的特征。对象的属性描述了对象的状态和特征,对象的方法说明了对象的行为和功能,并且对象的属性值只应由这个对象的方法来读取和修改,两者结合在一起就构成了对象的完整描述。 3、什么是消息? 在面向对象的程序设计中,由于对象描述了客观实体,它们之间的联系通过对象间的联系来反映。当一个对象需要另外一个对象提供服务时,它向对方发出一个服务请求,而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。4、什么是多态性? 所谓多态性是指当程序中的其他部分发出同样的消息时,按照接收消息对象的不同能够自动执行类中相应的方法。其好处是,用户不必知道某个对象所属的类就可以执行多态行为,从而为程序设计带来更大方便。 5、什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。 在OOP中,将“对象”作为系统中最基本的运行实体,整个程序即由各种不同类型的对象组成,各对象既是一个独立的实体,又可通过消息相互作用,对象中的方法决定要向哪个对象发消息、发什么消息以及收到消息时如何进行处理等。 6、面向对象方法的特点是什么? (1)OOP以“对象”或“数据”为中心。由于对象自然地反映了应用领域的模块性,因此具有相对稳定性,可以被用作一个组件去构成更复杂的应用,又由于对象一般封装的是某一实际需求的各种成分,因此,某一对象的改变对整个系统几乎没有影响。 (2)引入了“类”(class)的概念。类与类以层次结构组织,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上层所有类描述的全部性质,OOP中称这种机制为继承。 (3)OOP方法的模块性与继承性,保证了新的应用程序设计可在原有对象的数据类型和功能的基础上通过重用、扩展和细化来进行,而不必从头做起或复制原有代码,这样,大大减少了重新编写新代码的工作量,同时降低了程序设计过程中出错的可能性,达到了事半功倍的效果。 7、面向对象的程序设计方法与结构化程序设计方法的比较 (1)传统的结构化程序设计方法以过程为中心构造应用程序,数据和处理数据的过程代码是分离的、相互独立的实体,设计出的程序可重用代码少,且当代码量增加时维护数据和代码的一致性困难。 《面向对象程序设计》 大作业 题目学生成绩管理系统 学院 专业 班级 姓名 指导教师 2015 年11 月11 日 目录 一大作业的目的 (1) 二大作业的内容............................ . .. (2) 三大作业的要求与数据............... ...... . (3) 四大作业应完成的工作.................. . (4) 五总体设计(包含几大功能模块)........... . (5) 六详细设计(各功能模块的具体实现算法——流程图) (6) 七调试分析(包含各模块的测试用例,及测试结果) (7) 八总结 (8) 十参考资料 (9) 一大作业的目的 《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。 二大作业的内容 对学生信息(包括学号、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出.将学生的成绩信息进行记录,信息内容包含:(1)学生的学号(2)学生的姓名(3)学生的成绩。假设,现收集到了一个班学生的所有成绩信息,要求用C语言编写一个简单的成绩管理系统,可进行录入、查询、修改和浏览等功能。学习相关开发工具和应用软件,熟悉系统建设过程。 三大作业的要求与数据 1、用C++语言实现系统; 2、对学生信息(包括学号、姓名、语文、数学、英语、平均分)进行管理,包括学生成绩的信息输入、输出、查询、删除、排序、统计、退出. 3、学生信息包括:其内容较多,为了简化讨论,要求设计的管理系统能够完成以下功能: (1) 每一条记录包括一个学生的学号、姓名、3门课成绩 (2)、成绩信息录入功能:(成绩信息用文件保存,可以一次完成若干条记录 的输入。) (3)、成绩信息显示浏览功能:完成全部学生记录的显示。 (4)、查询功能:完成按姓名查找学生记录,并显示。 (5)成绩信息的删除:按学号进行删除某学生的成绩. (6)、排序功能:按学生平均成绩进行排序。 (7)、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观! 1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。面向对象程序设计教程 (马石安版)
面向对象程序设计考前复习题及答案
c++面向对象程序设计大作业
什么是面向对象程序设计
《面向对象程序设计》答案