2.1.类与对象,class,private,public--面向对象程序设计
类与对象(class,private,public)--面
向对象程序设计
【ITjob课程资料】
类和对象的描述
现实社会中一切皆对象。比如:人,树,石头,猫,鸟,汽车,地球等等。任何一种对象都具有静态的属性,但不一定具有动态的行为。比如:石头。一般情况下,对象既有静态的属性,也有动态的行为。对象本身的属性和行为之间可以相互影响,比如:一个人饿了(属性),就会去吃饭(行为)。相反,这个人吃饭(行为)后,就饱了(属性),体重(属性)也增加了。不同的对象之间也可以相互作用。比如:人看到汽车开过来了,就会沿着路边走。如果这个人站在路中间不动(他不怕死),那么汽车就会停下来。那么怎么用Java语言来实现上述功能呢?
如同建筑设计师设计建筑图(建筑的蓝图),可以用该图来盖出许许多多这种风格的房子一样。类是对象的蓝图,是用来描述对象的,你可以用该类,来实例化许许多多个该类型的对象,类就是对象的模板。在类中定义了一套数据元素(属性)和一套行为(方法)。数据是用来描述具体的一个对象(静态),行为是用来描述该类型对象的共性,也就是该对象能够做什么(动态),以及完成相关对象之间的交互,从而改变对象的状态。同样对象的状态也能够对象的行为。属性和方法都叫做类的成员。例如杯子装水的时候:最大盛水量和当前盛水量。盛水的方法要始终跟踪这两个属性。装水时改变了当前盛水量的属性,同样当当前盛水量等于最大盛水量(水装满时),就会影响装水的行为,将不再倒水。
我们下面通过一个具体事例来说明Java中如何实现以上概念。
例1:
编写一个类,描述人吃饭,体重增加这个简单操作。
下图描述了一个“人”
这是一个UML中的类图,我们对它进行简单说明。
?第一行:是类名Person,代表我们正在说明一个“人”的概念。
?第二行:是属性,“-”号代表这个属性只有这个类自己可以访问,weight
代表属性的名字,double表示属性的类型,这里意思是“人有一个体重的特性,体重可以是小数,别人不能直接看出人有多重,必须使用某种称量体重的方法”。
?第三行、第四行:是构建器,“+”号代表public访问权限,含义是任何
人可以访问到它。构建器是外界创造出这个“概念”的实际“例子”的入口,第三行是按照“缺省”方式构建,第四行是按照特定方式构建,特定方式是指按照参数指定的属性构建
?第五行、第六行:是方法,其中eat方法有参数,参数名字是temp,参数
类型是double,该方法的返回类型为void,该方法含义是人可以吃一定数量的食物,吃完不需要给外界任何回馈。第六行的方法getWeight()没有参数,返回double类型,含义是看这个人的重量。
声明类
Java中的语法和C一样,语句都是以分号结束,区分大小写。
在Java技术中采用下列方法声明类:
}
说明:
加public,在修饰类的访问权限的时候,只有两种:1,就是加上public,表示所有类都可以访问。 2,就是什么也不写,表示本包访问权限,在讲到包的含义时再理解。
Java中的标识符(类名,变量名,方法名)是由字母,数字,下划线(_),美圆符($)组成,数字不能用于标识符的开始。其中长度不受限制,不能使用java 中的关键字,并且是区分大小写的。比如:class,void等关键字。Java中的关键字都是由小写的字母组成的,所以在我们并不知道java中有那些关键字的情况下,在定义标识符的时候,只要不全是小写的字母,就不会和java中的关键字相冲突。
所以Person这个类的初始版本应该是:
public class Person{
}
声明属性
说明:
[=
初始化为false,所有的引用类型都初始化为null)。
注意:Java语言与其它语言不同,在JAVA中声明属性和初始化属性值必须一句完成。不能分开写:先声明,再另起一行初始化。
例如:
private int a ;
a=5; //错误
private int b=6;//声明一个属性 b,并初始化为6;
在类里面除了声明语句之外,是不能直接写其它执行语句的。 a=5 是赋值语句。如果要执行语句应放在语句块(方法块,初始化块等)里执行。
据此,我们的Person类成为如下样子:
public class Person{
private double weight;
}
声明构造器
}
说明:
注意:构造器必须没有返回类型,并且构造方法的名字和类名必须一样。当一个类里面如果没有声明构造方法,那么虚拟机将自动给该类一个默认的构造器(不带参数的构造器)。如果在该类里面,定义了带参数的构造方法,那么虚拟机将不再为该类提供默认的构造方法,也就是该类不能按缺省方式构建了。
我们的类此时变成:
public class Person {
private double weight;
// 该类的默认的构造器
public Person() {
}
// 带参数的构造器
public Person(double d_weight) {
weight = d_weight; // 实例化对象时,给weight属性赋初始值}
}
声明方法
}
< return_type>:指明方法返回值的类型。假如方法不返回值,应被声明为void。
注意:方法必须有返回类型,返回类型为void和没有返回类型是不一样的。除了返回类型void外,有其它返回类型的方法块里必须有return语句。
我们的类此时变成(Person.java):
public class Person {
private double weight;
// 该类的默认的构造器
public Person() {
}
// 带参数的构造器
public Person(double d_weight) {
weight = d_weight; // 实例化对象时,给weight属性赋初始值}
public void eat(double temp) { // 吃饭的方法
weight = weight + temp; // 吃多少,体重就增加多少}
public double getWeight() {// 得到人的体重属性
return weight; //返回weight属性
}
}
private封装
在类里面声明属性的时候,一般把属性的访问权限定义成private,封装的要求。这样只能在类里面访问该属性,在类的外面是没有访问的权限的,也就是说对于该类的实例(对象),是不能够直接访问该对象的属性的。这样就会保护对象状态不会非法改变。
比如,人的体重是不能直接修改的,通过吃饭可以增加人的体重,如果该人很瘦,是不能直接把20斤牛肉放到该人身上,就算增加该人的体重的。同样的道理,如果该人很胖,也不能够从该人身上割下20斤肉,而让体重下降20斤。
所以我们在以上的类中声明weight属性为private。
public 公共访问
在类里面声明方法的时候,一般把该方法定义成public访问权限。在程序运行的时候,就是通过对象和对象之间的交互来实现的。为了保证对象都能够执行功能(方法),应该把方法的访问权限定义成public。
我们对方法getWeight()的处理就是这样。
下面是测试Person的PersonApp.java
public class PersonApp {
public static void main(String[] args) {
// p1是声明的变量,类型是Person类型的,并且引用了Person类的一个对象,且使用默认的构造器构造对象
Person p1 = new Person();
// p2 同p1,使用带参数的构造器
Person p2 = new Person(120);
// p1所引用的对象(简称p1对象),吃了2.5斤
p1.eat(2.5);
// p2 对象吃了4.3斤
p2.eat(4.3);
// 打印出p1的体重
System.out.println("p1的体重为:" + p1.getWeight());
// 打印出p2的体重
System.out.println("p2的体重为:" + p2.getWeight());
}
}
编译和运行的过程如下图:
相关资料与视频请访问ITjob就业培训网
C语言的类和对象
C语言的类和对象 【类实现了C++面向对象程序设计的基础,我们使用类来定义对象的属性,类是 C++封装的基本单元。】 一、----- 类 使用关键字class创建类,一个类声明定义了一个连接代码和一个数据的新类型,这个新的类型又可以用来声明该类的对象。因此,类又是逻辑逻辑抽象概念,儿对象是物理存在的,也就是说对象是类的实例。 类的声明语法上和结构相似。 [一下是完整的类的形式] class class_name { private data and functions access_specifier: data and functions access_specifiter: data and functions //…….. access_specifier:是 data and functions }object_list; 其中,object_list是任选项,如过存在,他声明类的对象。access_specifier为下面的三个关键字之一: Public private protected 默认时,在类声明的函数和数据属于该类私有,只能被该类的成员访问。如果使用,pubilc访问限定符号,函数和程序就可以被其他部分访问。Protected访问限定符,仅在涉及继承的时候才需要(十五章了解)。访问限定符已经使用,其作用就保持到遇到别的访问限定符或者达到类声明的结束处。 在类声明内可以任意改变访问说明符号,对于某些声明,可以转换位public,然后再转换成private。 [如下所述] /******************************* ··构造函数和析构函数学习··· *******************************/ //Using a constructor and destructor. /******************************* 声明C++ 程序头文件 *******************************/ #include
面向对象试题(标准答案)
CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a); } } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200
2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test()”); } } public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.Child.test() Child.test() B.Child.test() Base.test() C.Base.test() Child.test() D.Base.test() Base.test()
实验3 类和对象
实验3 类和对象的创建与使用 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第1,3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 public class AccountOperation { public static void main(String [] args) { Account account1=new Account("650101","柳眉","天河学院",800.00); Account account2=new Account("650102","郑杰","天河学院",200.00); account1.transfer(account1,account2,300.0); account1.deposit(300.5); account1.withdraw(200); account1.withdraw(300); account1.query(); System.out.println(account1.toString()); //System.out.println(https://www.360docs.net/doc/3f18115161.html,); error!! } } class Account { private String account; private String name; private String address; private double balance;
类和对象练习题
类和对象 一、选择题 1、下面对方法的作用描述不正确的是:( d ) A、使程序结构清晰 B、功能复用 C、代码简洁 D、重复代码 2、方法定义的变量:( b ) A 、一定在方法所有位置可见B、可能在方法的局部位置可见 C、在方法外可以使用 D、在方法外可见 3、方法的形参:(a) A、可以没有 B、至少有一个 C、必须定义多个形参 D、只能是简单变量 4、方法的调用:(c) A、必须是一条完整的语句 B、只能是一个表达式 C、可能是语句,也可能是表达式 D、必须提供实际参数 5、return 语句:( d) A、不能用来返回对象 B、只可以返回数值 C、方法都必须含有 D、一个方法中可以有多个return 语句 6、void 的含义:(d) A、方法体为空 B、方法体没有意义 C、定义方法时必须使用 D、方法没有返回值 7、main()方法的返回类型是:( c ) A 、boolean B、int C、void D、static 8、方法重载所涉及的方法:( a ) A、有相同的名字 B、参数个数必须不同 C、参数类型必须不同 D、返回类型必须不同 9、下面关于类和对象之间关系的描述,正确的是( c ) A、联接关系B、包含关系C、具体与抽象的关系D、类是对象的具体化 10、下面关于java中类的说法哪个是不正确的( c ) A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造方法是类中的特殊方法。 C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。 11、下列哪个类声明是正确的( d) A、public void H1{…} B 、public class Move(){…} C、public class void number{} D、public class Car{…} 12、下面的方法声明中,哪个是正确的(c) A、public class methodName(){} B、public void int methodName(){} C、public void methodName(){} D、public void methodName{} 13、下述哪些说法是不正确的?( b ) A、实例变量是类的成员变量 B、实例变量是用static关键字声明的 C、方法变量在方法执行时创建 D、方法变量在使用之前必须初始化 14、下面对构造方法的描述不正确是( b)。 A、系统提供默认的构造方法 B、构造方法可以有参数,所以也可以有返回值 C、构造方法可以重载 D、构造方法可以设置参数 15、定义类头时,不可能用到的关键字是( b)。 A、class B、private C、extends D、public 16、下列类头定义中,错误的是( )。 A、public x extends y {...} B、public class x extends y {...} C、class x extends y implements y1 {...} D、class x {...} 17、设A为已定义的类名,下列声明A类的对象a的语句中正确的是( ) 。 A、float A a; B、public A a=A( ); C、A a=new int( ); D、static A a=new A( ); 18、设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( a )。 A、void X(int k ){ i=k; } B、X(int k ){ i=k; } C、X(int m, int n ){ i=m; j=n; } D、X( ){i=0;j=0; } 19、有一个类A,以下为其构造方法的声明,其中正确的是
面向对象面试题
面向对象面试题 1、什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数; 现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的。 2、简述private、protected、public、internal 修饰符的访问权限。 private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 当前程序集内可以访问。 3、https://www.360docs.net/doc/3f18115161.html,中的五个主要对象 Connection:主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在https://www.360docs.net/doc/3f18115161.html, 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。 Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源。 DataAdapter:主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Comm and 对象下达命令后,并将取得的数据放入DataSet 对象中。这个对象是架构在Command 对象上,并提供了许多配合DataSet 使用的功能。 DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet 的能力不只是可以储存多个Table 而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet 对象可以说是https://www.360docs.net/doc/3f18115161.html, 中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet 对象以及数据源间传输数据的桥梁。 DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader 对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。 https://www.360docs.net/doc/3f18115161.html, 使用Connection 对象来连接数据库,使用Command 或DataAdapter对象来
实验2 类和对象(一)
实验2 类和对象(一) 1、实验目的 (1)掌握声明类的方法,类和类的成员的的概念以及定义对象的方法。 (2)初步掌握用类和对象编制基于对象的程序。 (3)学习检查和调试基于对象的程序。 2、实验内容 (1)有以下程序: #include 类的构建和对象的使用 判断题 1、一个类可以生成多个对象,并且这些对象都具有相同的属性。() 2、当运行javac命令对一个java源程序进行编译时,必须写出该源程序文件的完整文件名,包括扩展名.java。() 3、 java语言中不用区分字母的大写小写。() 4、数组允许存放不同类型的定长元素。() 程序分析题 阅读下列程序,然后回答问题。 class Car { int carNumber; Car(){} Car(int no){ this.carNumber=no; } void setNumber(int carNum) { carNumber = carNum; } void showNumber() { System.out.println(“My car No. is :” + carNumber); } } ①写出这里定义了什么类?有哪些成员变量?有哪些成员方法? ②有哪些构造方法? ④ void表示什么? 下列程序中,main()方法中使用了上面定义的类,产生了多少个对象?对象名字分别是什么?写出执行后的输出结果。 public class CarDemo { public static void main(String args[]){ Car demoCar1= new Car(); demoCar1.setNumber(168168); demoCar1.showNumber(); } } 编程题 1. 做一个学生管理系统的登陆界面,并判断用户名和密码是否正确。 2.做一个学生管理系统的子界面,来实现对10个学生的成绩的输入,并输出总成绩、平均成绩、最大成绩、最小成绩。再加上了对学生成绩的输入功能,如果输入的成绩部队不对就重新输入。 1.2 面向对象的基本概念 本节着重介绍面向对象的基本概念,也对相应的面向对象的技术方法做些说明和解释。 面向对象方法学的基本原则 面向对象方法学认为:客观世界是由各种“对象”所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式组成的。不同对象的相互作用就构成了我们要研究分析和构造的客观系统。 面向对象方法学认为:通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的根据。 面向对象方法学认为:对于已分成类的各个对象,可以通过定义一组“方法”来说明该对象的功能,也即是:允许作用于该对象上的各种操作。对象间的相互联系是通过传递“消息”来完成的。 面向对象方法学比较自然地模拟了人类认识客观世界的方法。即应使描述问题的问题空间和解决问题的方法空间在结构上尽可能地一致。我们分析设计和实现一个系统的方法尽可能接近我们认识一个系统的方法。 1.2.1 对象、类、消息 面向对象技术是基于对象(object )概念的。下面介绍对象概念。 在现代汉语词典中,对象是行动或思考时作为目标的人或事物。 在思维科学中,对象是客观世界中具有可区分性的、能够唯一标识的逻辑单元。对象所代表的本体可能是一个物理存在,也可能是一个概念存在。 “面向对象”是计算机科学中的一个技术名词,具有其特定的技术含义。从面向对象的观点来看,现实世界是由各式各样独立的、异步的、并发的实体对象组成,每个对象都有各自的内部状态和运动规律,不同对象之间或某类对象之间的相互联系和作用,就构成了各式不同的系统。 面向对象方法是基于客观世界的对象模型化的软件开发方法。在面向对象程序设计中,所谓对象,就是一个属性(数据)集及其操作(行为)的封装体。作为计算机模拟真实世界的抽象,一个对象就是一个实际问题论域,一个物理的实体或逻辑的实体。在计算机程序中,可视为一个“基本程序模块”,因为它包含了数据结构和所提供的相关操作功能。 我们把客观世界的实体称之为问题空间的对象,任何事物都是对象。 我们用计算机解题是借助某种语言规定对计算机实体施加某种动作,以此动作的结果去映射解,我们把计算机实体称之解空间的对象。 在面向对象的程序设计中,“对象”是系统中的基本运行实体。即对象是具有特殊属性(数据)和行为方式(方法)的实体。 从动态的观点看,对象的操作就是对象的行为。问题空间对象的行为是极其丰富的,而解空间对象的行为是极其死板的。因此,只有借助于极其复杂的算法才能操纵解空间对象而得到解。面向对象语言提供了“对象”概念,这样,程序员就可以定义解空间对象。 从存储的角度来看,“对象”是一片私有存储,其中有数据也有方法。其它对象的方法 实验一类和对象 Visual C++ 6.0集成开发环境的使用: Visual C++系列产品是微软公司推出的一款优秀的C++集成开发环境,其产品定位为Windows 95/98、NT、2000 系列Win32 系统程序开发,由于其良好的界面和可操作性,被广泛应用。由于2000 年以后,微软全面转向.NET 平台,Visual C++6.0 成为支持标准C/C++规范的最后版本。 1.启动 安装完系统后,可以选择如下两种方式启动 1) 点击Windows “开始”菜单,选择“程序”菜单下“Microsoft Visual Studio 6.0”子菜单下的快捷方式Microsoft Visual C++ 6.0 启动Visual C++ 6.0。 2) 点击Windows “开始”菜单,选择“运行”,输入msdev,即可启动。启动后的界面如下: 图 1 启动界面 2.建立工程 选择“File”菜单下的“New”菜单项或直接按Ctrl+N,启动新建向导,如图2 所示: 图 2 新建向导 选择在“Projects”属性页选择Win32 Console Application,在Project Name 中输入项目名称demo,在Location 中选择项目文件,如图2 中c:\test\demo,项目所有文件将保存在此文件。输入完毕,单击确定按钮,进入下一界面如图3: 图 3 项目类型向导 在图 3 所示界面中选择a simple application,然后点击Finish 按钮,系统显示图4 所示界面。如果想退回上一步可以选择“Back”按钮。 图 4 项目信息 在图 4 中选择OK 按钮,系统完成项目的创建,并保存项目相关的信息。项目的目录结构如图5 所示。 1) Demo.dsw 是项目工作区文件,双击此文件,即可打开此项目; 2) Demo.dsp 为项目文件; 3) demo.cpp 是项目中的一个源程序;stdafx.h 和stdafx.cpp 为自动创建的源程序,一般不用修改。 图 5 目录结构 面向对象方法 1、对象:是系统中用来描述客观事务的一个实体,是构成系统的一个基本单位。三个要素:对象标志(供系统内部唯一的识别对象);属性(状态、数据、用来描述对象的静态特征);服务(操作、行为或方法,用来描述对象的动态特征) 2、面向对象=对象(objects)+类(classes)+继承(inheritance)+消息通信(communication with messages) 3、封装是对象的一个重要原则。有2 个含义:对象是全部属性和全部服务紧结合而形成的一个不可分隔的整体;对象是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码都被封装在黑盒子里面。 4、类和类库:类是对象的抽象定义,是一组具有相同数据结构和相同操作的对象的集合。类与对象是抽象描述与具体实例的关系,一个具体的对象被称为类的一个实例(instance)。 5、继承:使用已存在的定义作为基础建立新定义的技术。父类、子类要了解。 6、多态性:可以分为四类:过载多态(重载多态),强制多态,包含多态,参数多态。前两种统称为专用多态(特定多态),后两种称为通用多态。 7、消息:指向对象发出的服务请求,它应该含有下述 信息:提供服务的对象标志、消息名、输入信息和回答信息 8、消息通信:封装使对象成为一些各司其职、互不干扰的独立单位;消息通信为他们提供了唯一的合法的动态联系途径,使他们的行为能够相互配合,构成一个有机的系统。只有同时使用对象、类、继承与消息通信,才是真正面向对象的方法。 9、统一建模语言UML---是一种语言;是一种可视化语言;是一种可用于详细描述的语言;是一种构造语言;是一种文档化语言 10、UML 结构:构造块(建模元素、关系、图);公共机制(规格说明、修饰、公共分类、扩展机制);构架(逻辑视图、进程视图、实现视图(构建)、布署视图、用例视图)裸狗不用进 11、UML 视图:系统静态结构的静态模型(包括类图、构件图、部署图),系统动态结构的动态模型(包括对象图、用例图、序列图、协作图、状态图、活动图) 12、用例图:用例模型描述的是外部执行者(Actor)所理解的系统功能,用于需求分析阶段。(十四个图能认出来) 参与者(Actor)代表与系统接口的任何事物或人,它是指代表某一种特定功能的角色,参与者都是虚拟的概念。 java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:() A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()类的构建和对象的使用练习题
1.2 面向对象的基本概念
实验一 类和对象
面向对象方法
java面向对象试卷及答案
C++实验二类与对象(附答案)