计算机与信息工程系课程实验报告
姓 名 | 谢天 | 学 号 | 2014134027 | 班 级 | 3D仿真设计班 |
课程名称 | 面向对象程序设计 | 实验类型 | 验证 | 实验地点 | M406 |
指导教师 | 魏青 | 实验日期 | 2015.3.27 | 实验成绩 |
|
实验名称 | 类和对象 | ||||
一、 实验目的及要求 了解并掌握成员变量的定义、成员方法的定义、对象的创建、对象的初始化的形式及方法 | |||||
二、 实验内容 1、例题:定义一个矩形类,包含以下内容:(1)定义两个成员变量:长、宽 (2)两个成员方法:求面积、周长 (3)初始化一个对象m,宽为3,长为5,输出其长、宽和面积、周长 2、定义一个圆型类,包含以下内容:(1)两个成员变量:半径r和颜色color (2)两个成员方法:求面积和周长 (3)初始化一个源对象n,半径为3,颜色为red,输出半径、颜色、面积、周长 3、类如何定义 4、成员变量定义 5、成员方法的定义形式 6、对象的创建 7、对象的初始化——构造方法
| |||||
三、实验步骤 1、例题:定义一个矩形类,包含以下内容:(1)定义两个成员变量:长、宽 (2)两个成员方法:求面积、周长 (3)初始化一个对象m,宽为3,长为5,输出其长、宽和面积、周长 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 getPem() {return 2*(width+length); }
//主方法 public static void main(String[] args) {
Rectangle m; m=new Rectangle(3,5);//初始化对象 System.out.println(m.length); System.out.println(m.width); System.out.println(m.getArea())
System.out.println(m.getPem()); }
}
2、定义一个圆型类,包含以下内容:(1)两个成员变量:半径r和颜色color (2)两个成员方法:求面积和周长 (3)初始化一个源对象n,半径为3,颜色为red,输出半径、颜色、面积、周长 public class Circle {
private double r; private String color;
public Circle(double r,String color) {this.r=r;this.color=color;}
public double getArea() {return 3.14*r*r;} public double getPete() {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.getArea()); System.out.println(n.getPete());
3、类如何定义 属性(特性)和行为 类声明的格式:访问符 修饰符 class 类名 {属性 行为} a、 访问符:public protected private 省略 b、修饰符:abstract static final 省略 c、 Class d、 类名:遵循用户标识符命名规则 e、长方形类 : 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;}
4、成员变量定义 访问符 类型 变量名
5、成员方法的定义形式 访问符 返回值类型 方法名(类型 参数名,类型 参数名) {方法体} a、功能 b、需不需要参数 c、需不需要返回值
6、对象的创建 a、声明对象:类名 对象名; 例如:Rectangle m; Circle n;或者Rectangle m=new Rectangle(); b、分配存储空间:对象名=new 类名(); m=new Rectangle(); c、只定义对象,不为其分配存储空间 Rectangle m; m=null;
7、对象的初始化——构造方法 a、一般形式: 访问符 类名(参数) {初始化语句} b、构造方法没有返回值类型 this代表本类 c、构造方法:与属性变量同名: public Rectangle(double width,double length) {this.width=width;this.length=length;} 与属性变量不同名:public Rectangle(double w,double l) (可省略this ) {width=w;length=l;}
d、初始化过程:Rectangle m; m=new Rectangle(); 或者Rectangle m=new Rectangle(3,5); e、使用对象中的成员 对象名.成员名; m.width; m.length; m.getArea(); 注意:()一定不能省,方法名后面一定要有括号 f、构造方法不是必须的,可以缺省,这时系统会自动调用,但是下方程序书写时应注意 public class Rectangle { //定义矩形的两个成员变量 private double width; private double length;
//定义构造方法 public Rectangle() {}
//定义求面积和周长的方法 public double getArea() {return width*length;} public double getPem() {return 2*(width+length); }
//主方法 public static void main(String[] args) {
Rectangle m; m=new Rectangle(); m.width=3; m.length=5;//初始化对象 System.out.println(m.length); System.out.println(m.width); System.out.println(m.getArea()); System.out.println(m.getPem()); }
} g、构造方法有很多种,若类中定义了构造方法,必须用定义的,不会用调用默认的 若既想用定义的又想用默认的,则应改为 public class Rectangle { //定义矩形的两个成员变量 private double width; private double length;
//定义构造方法 public Rectangle(double w,double l) {width=w;length=l; } public Rectangle() {}
//定义求面积和周长的方法 public double getArea() {return width*length;} public double getPem() {return 2*(width+length); }
//主方法 public static void main(String[] args) {
Rectangle m; m=new Rectangle(3,5); m.width=3; m.length=5;//初始化对象 System.out.println(m.length); System.out.println(m.width); System.out.println(m.getArea()); System.out.println(m.getPem()); }
}
| |||||
四、实验结果 1、结果为 5.0 3.0 15.0 16.0 2、3 red 28.266666666667 18.84 |