2014134027 谢天

来源:互联网 发布:裁剪照片的软件 编辑:程序博客网 时间:2024/05/18 02:22

 计算机与信息工程系课程实验报告

姓    名

谢天

学    号

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 Stringcolor;

 

 

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

0 0
原创粉丝点击