编写有一定功能的类和使用类
1、 实验内容或题目
(1) 定义一个名为MyRectangle的矩形类,类中有4个私有的整型域,分别是矩形的左上角坐标(xUp,yUp)和右下角坐标(xDown,yDown);类中定义没有参数的构造方法和有4个int参数的构造方法,用来初始化类对象。类中还有以下方法: getW( )——计算矩形的宽度;getH( )——计算矩形的高度;area( )——计算矩形的面积;toString( )——把矩形的宽、高和面积等信息作为为字符串返回。编写应用程序使用MyRectangle类。
(2) 设计一个Dog类,它有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog 的信息。编写应用程序使用Dog类。
(3) 设计一个长方体类MyCube,该类包含第1题中的MyRectangle类对象作为类的域,表示长方体的底面;此外还包含一个整型变量d,表示长方体的高。类中定义构造方法初始化类对象、定义求体积和表面积的方法。编写应用程序测试MyCube类。
(4) 设计一个表示用户的User类,类中的变量有用户名、口令(私有的)和记录用户个数的变量(静态的),定义类的3个构造方法(没有参数、有一个参数给用户名赋值、有两个参数给用户名和口令赋值)、获取和设置口令的方法、返回字符串表示的类信息的方法(包括用户名、口令)。编写应用程序测试User类。
2、实验目的与要求
⑴ 编写有一定功能的类和使用类。
⑵ 类的继承。方法的重载和覆盖。
⑶ 成员的访问控制。
3、 实验步骤与源程序
⑴ 实验步骤
编辑源文件,可用Jcreater或EditPlus 2软件编辑
编译,若编译成功,则进入运行,进入DOS下运行 javac XX.java;若不成功,则返回编辑源文件
运行文件java XX 或appletviewer XX.htm等
⑵ 源代码
题目一:
class MyRectangle{
int xUp,xDown,yUp,yDown,W,H,a;
public MyRectangle(){
}
public MyRectangle(int xUp,int yUp,int xDown,int yDown){
this.xUp=xUp;
this.xDown=xDown;
this.yUp=yUp;
this.yDown=yDown;
}
public void getW(){
W=(xDown-xUp);
}
public void getH(){
H=(yDown-yUp);
}
public void area(){
a=((yDown-yUp)*(xDown-xUp));
}
public void tostring(){
System.out.println("矩形的宽为:"+W+"\t高为:"+H+"\t面积为:"+a);
}
}
public class app1{
public static void main(String[] args){
MyRectangle obj=new MyRectangle(15,15,20,30);
obj.getW();
obj.getH();
obj.area();
obj.tostring();
}
}
题目二:
class Dog{
String name,color;
int age;
public Dog(){
}
public Dog( String name,String color,int age){
this.name=name;
this.color=color;
this.age=age;
}
public void tostring(){
System.out.println("狗的名字是:"+name+"\t颜色是:"+color+"\t年龄是:"+age);
}
}
public class app2{
public static void main(String[] args){
Dog obj=new Dog("mydog","黑色",200);
obj.tostring();
}
}
题目三:
class MyCube extends MyRectangle{
int d;
public MyCube(){
}
public MyCube(int xUp,int yUp,int xDown,int yDown,int d){
this.xUp=xUp;
this.xDown=xDown;
this.yUp=yUp;
this.yDown=yDown;
this.d=d;
}
public int V(){
return (yDown-yUp)*(xDown-xUp)*d;
}
public int area1(){
return 2*((yDown-yUp)*(xDown-xUp)+(yDown-yUp)*d+(xDown-xUp)*d);
}
}
public class app3{
public static void main(String[] args){
MyCube obj=new MyCube(0,0,7,12,9);
System.out.println("长方体的体积为:"+obj.V()
+"\t表面积为:"+obj.area1());
}
}
题目四:
class User{
String name;
private String password;
public static int n=0;
public User(){
}
public User(String name){
this.name=name;
n++;
}
public User(String name,String password){
this.name=name;
this.password=password;
n++;
}
public void setPassword(String password){
this.password=password;
}
public void getPassword(){
System.out.println("修改密码为:"+password);
}
public void tostring(){
System.out.println("用户名为:"+name+"\t密码为:"+password+"\t用户号为:"+n);
}
}
public class app4{
public static void main(String[] args){
User obj=new User("pingzi");
obj.setPassword("870624");
obj.getPassword();
obj.tostring();
User obj2=new User("shdp ","64621634");
obj2.tostring();
}
}
4、 测试数据与实验结果(可以抓图粘贴)
题目一: 题目二:
题目三:
题目四:
5、 结果分析与实验体会
本次是java实验五,本次实验还是上机练习4题。第一题是编写应用程序使用MyRectangle类,这在以前的练习中有相似的做过,所以并不难。第二题设计一个Dog类,定义构造方法用来初始化类的这些属性,并定义方法输出Dog 的信息。第三题编写应用程序测试MyCube类。第四题编写应用程序测试User类。这些题目都是反复让我们具有一定功能的类和使用类,类的继承、方法的重载和覆盖等。这些都是java学习中的重要部分。
在做实验的过程中,我们应该将平时课堂学习的内容转化为实践,这样能更好的掌握书本上的理论知识,学会应用。379