计算机与信息工程系课程实验报告
姓 名 | 周荟玲 | 学 号 | 2014134033 | 班 级 | 3D仿真设计 |
课程名称 | 面向对象程序设计 | 实验类型 | 验证 | 实验地点 | M406 |
指导教师 | 魏青 | 实验日期 | 2015.03.27 | 实验成绩 |
|
实验名称 | 类和对象 | ||||
一、 实验目的及要求 掌握类的定义,理解构造方法的作用和对象的引用,掌握通过变量名访问引用对象的成员变量和方法,理解关键字this的用法,理解并掌握方法的生命和调用。 | |||||
二、 实验内容 1、类声明的格式 2、成员变量(属性)定义形式 3、成员方法定义形式 4、类对象创建 5、对象的初始化
| |||||
三、实验步骤 1、类声明的格式:访问符(public protected private 省略) 修饰符(abstract static final 省略) class 类名(用户标识符::字母 - $) 2、成员变量(属性)的定义形式:访问符 类名 变量名 3、成员方法定义形式:访问符 返回值的类型 方法名(类型参数名,类型参数名)有多个用,隔开。1、确定功能 2、需不需要参数 3、需不需要返回值 4、 类对象创建:声明对象:类名 对象名;Rectangle rectangle; Circle n; 为对象分配存储空间:对象名=new类名(); Rectangle m=new Rectangle(); 只定义对象,不为其分配存储空间: Rectangle m; m=null; 构造方法的作用是对对象进行初始化,对成员变量赋初值:构造方法的一般形式: 访问符 类名(参数) {初始化语句} 构造方法没有函数返回值类型 初始化过程 Rectangle m; m=new Rectangle(3,5); 调用构造方法 或Rectangle m=new Rectangle(3,5); 使用对象中的成员:对象名.成员名 m.width m.getArea() 长方形类:public class Rectangle {private double length; private double width; 属性(成员变量) public Rectangle (double width,double length) {this.width=width;this.length=length;} 构造方法 public double getArea() {return width*length;} 成员方法 } public class Account {private long id; private String name; private long balance; public Account(long id,String name,long balance) {this.id=id;this.name=name;this.balance=balance;}
| |||||
定义一个矩形类,它包含以下内容: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 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());//输出周长 } }
public class Rectangle{ //定义矩形的两个成员变量 private double width; private double length;
//定义构造方法 public Rectangle( double w,double l) { width=w;length=l;}
//定义求面积的成员方法 public double getArea(){return width*length;}
//定义求周长的成员方法 public double getPete(){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.width);//输出宽度 System.out.println(m.length);//输出长度 System.out.println(m.getArea());//输出面积 System.out.println(m.getPete());//输出周长 } }
public class Rectangle{ //定义矩形的两个成员变量 private double width; private double length;
//定义构造方法 public Rectangle( ) { }
//定义求面积的成员方法 public double getArea(){return width*length;}
//定义求周长的成员方法 public double getPete(){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.width);//输出宽度 System.out.println(m.length);//输出长度 System.out.println(m.getArea());//输出面积 System.out.println(m.getPete());//输出周长 } }
public class Rectangle{ //定义矩形的两个成员变量 private double width; private double length; //定义构造方法 public Rectangle( ) { } //定义求面积的成员方法 public double getArea(){return width*length;} //定义求周长的成员方法 public double getPete(){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.width);//输出宽度 System.out.println(m.length);//输出长度 System.out.println(m.getArea());//输出面积 System.out.println(m.getPete());//输出周长 } }
定义一个圆形类,包含以下内容: 1、两个成员变量、半径(r)颜色(color) 2、两个成员方法,求面积getArea,求周长getPete 3、初始化一个圆对象,r=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.0 5.0 15.0 16.0
3.0 red 28.259999999999998 18.84 | |||||
五、结果分析与实验体会 1、构造方法不是必须的,可以缺省,这时系统会自动调用默认的系统方法 2、构造方法可以有多种,若类中定义了构造方法必须用定义的,不会调用默认的。 3、构造方法中的参数和成员变量出现重名时,要加this.代表本类 ,不同名时省略本类。 4、面向对象的大三主要特征是封装、继承和多态。 |
注:1、实验类型分为:演示、验证、综合、设计研究或其他。
2、附录:可附加源程序代码清单等。
六、附录(源程序代码清单等)