类和对象

来源:互联网 发布:python软件下载 编辑:程序博客网 时间:2024/06/03 17:00

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

姓    名

周荟玲

学    号

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、附录:可附加源程序代码清单等。

 

六、附录(源程序代码清单等)

0 0