计算机与信息工程系课程实验报告
姓 名 | 翟园园 | 学 号 | 2014134031 | 班 级 | 3D仿真设计 |
课程名称 | 面向对象程序设计 | 实验类型 | 验证 | 实验地点 | M406 |
指导教师 | 魏青 | 实验日期 | 2015.03.20 | 实验成绩 |
|
实验名称 | 对类和对象的使用 | ||||
一、 实验目的及要求 理解类和对象的概念及使用; 理解对象的引用,掌握通过变量名访问引用对象的成员变量及方法。 | |||||
二、 实验内容 1.定义一个矩形类,包含以下内容: (1)两个成员变量长、宽。 (2)两个成员方法面积、周长。 (3)初始化一个对象m,长为5,宽为3. 输出其长、宽、面积、周长。 2.2.定义一个圆形类,包含以下内容: (4)两个成员变量半径r、颜色color。 (5)两个成员方法面积getArea1、周长getPete1。 (6)初始化一个对象n,r为3,color为red. 输出其半径、颜色、面积、周长。 3.重点知识
| |||||
三、实验步骤 1,//定义一个矩形类 public class Rectangle { //定义两个矩形变量 private double width; private double length;
//定义构造方法 public Rectangle (double width,double length) {this.width=width;this.length=length;}
//定义求面积的成员方法 public double getArea() {return width*length;}
//定义求周长的成员方法 public double getPete() {return 2*(width+length);}
//主方法 public static void main(String[] args) { {Rectangle m; m=new Rectangle(3,5);//初始化对象 System.out.println(m.width);//输出宽度 System.out.println(m.length);//输出长度 System.out.println(m.getArea());//输出面积 System.out.println(m.getPete());//输出周长
}
}
}
2.//定义一个圆形类 public class Circle { //定义两个圆形变量 private double r; private String color;
//定义构造方法 public Circle(double r,String color)//定义一个圆形类 {this.r=r;this.color=color;}
//定义求面积的成员方法 public double getArea1() {return 3.14*r*r;}
//定义求周长的成员方法 public double getPete2() {return 2*3.14*r;}
//主方法 public static void main(String[] args) {Circle n;
n=new Circle(3,”red”);//初始化对象 System.out.println(n.r);//输出半径 System.out.println(n.color);//输出颜色 System.out.println(n.getArea1());//输出面积 System.out.println(n.getPete2());//输出周长
}
} 3.重点知识。 (1)类声明的形式 访问符 修饰符 class 类名 { 属性 //描述类的特征,静态 行为 /方法 //行动,动态 } ①访问符:public protected private 省略 ②修饰符:abstract static final 省略 举例:public class Rectangle{ private double width; private double length; 属性
public Rectangle (double width,double length) 行为 {this.width=width;this.length=length;} 方法 } (2)成员变量(属性)的定义 访问符 类型 变量名 (3)成员方法的定义 访问符 返回值类型 方法名(类型 参数名,类型 参数名) {方法体} ①确定定义方法的功能 ②需不需要参数 ③确定方法是不是需要返回值 (4)对象创建 ①声明对象:类名 对象名; Rectangle m; ②为对象分配存储空间 对象名=new 类名(); m=new Circle(); ③只定义对象,不分配存储空间 Circle n; n=null; 5.对象的初始化-----构造方法 ①构造方法的一般形式: 访问符 类名(参数) {初始化语句} 举例:public Circle(double r,String color) {this.r=r;this.color=color;} ②构造方法没有返回值类型 ③参数与成员变量同名时:this.r=r 参数与成员变量不同名时,不写this. 即public Rectangle (double w,double l) {width=w,length=l;} ④初始化过程 Circle n;
n=new Circle(3,”red”); ⑤使用对象中的成员 m.width; m.Circle(); ⑥构造方法不是必须的,可以缺省,这时系统会自动调用默认的方法。 public Rectangle (double width,double length) {this.width=width;this.length=length;} ………… …………
public static void main(String[] args) { {Rectangle m; m=new Rectangle(3,5);//初始化对象 System.out.println(m.width);//输出宽度 System.out.println(m.length);//输出长度 }
缺省后
public Rectangle () {} ………… …………
public static void main(String[] args) { {Rectangle m; m=new Rectangle();//初始化对象 m.width=3; M.lenth=5; System.out.println(m.width);//输出宽度 System.out.println(m.length);//输出长度 } | |||||
四、实验结果 1.3.0 5.0 15.0 16.0
2. 3.0 red 28.259999999999998 18.84 | |||||
五、结果分析与实验体会 1.我是在java的运行程序下执行的, 中间出现了一些错误,经过反复改正执行才最终运行成功,对于程序的运行,多上机练习才会进步。 2.虽然最后运行成功了,但有一处的改正提示我还是不明白,我将会向老师请教。 3.理论的学习是前提,上机练习是实践的必要。 |
注:1、实验类型分为:演示、验证、综合、设计研究或其他。
2、附录:可附加源程序代码清单等。
六、附录(源程序代码清单等)