计算机与信息工程系课程实验报告
姓 名 | 武雪芹 | 学 号 | 2014134026 | 班 级 | 3D仿真设计 |
课程名称 | 面向对象程序设计 | 实验类型 | 验证 | 实验地点 | M406 |
指导教师 | 魏青 | 实验日期 | 2015.03.27 | 实验成绩 |
|
实验名称 | 类和对象 | ||||
一、 实验目的及要求 1理解类和对象的概念及二者间的区别 2理解并掌握方法的声明和调用 3理解构造方法的作用 4掌握对象的创建与初始化 | |||||
二.实验内容 一.面向对象的程序设计对象 二.定义类 三.为类增加成员变量 四.成员方法的定义形式 五.对象创建 六.对象的初始化 | |||||
三、实验步骤 一.面向对象的程序设计对象 具有相同属性的集合称为类 类中的一个实体称为对象 (类:文字描述 对象:看得见,摸得着) 二.类如何定义 1属性(静态)即特性 2行为(动态)即行动 3类声明的格式 访问符 修饰符 class 类名 {属性 行为} 1>访问符 public(公共) protected(受保护) private(私有) 省略
2>修饰符 abstract(抽象) static(静态) final(最终) 省略 3>class 关键字 4>类名: 用户标识符:字母 数字 下划线 ¥ (第一个字母要大些) 例 定义长方形类 public class Rectangle() {private double length;private double width} //属性(成员变量)
public Rectangle(double length;double width); {this.width=width;this.length=length;} //构造成员方法
public double getArea() {return width*length;} //构造成员方法 4 类成员变量 访问符 类型 变量名; 访问符: public(公共) protected(受保护) private(私有) 省略 三.成员方法的定义形式 访问符 返回值的类型 方法名(类型,参数名,类型,参数名) { 方法名 }; public double getArea() {return width*length;} //成员方法 定义需注意:定义方法,确定功能。 需不需要参数。 是否需要返回值。 例一:定义一个原型类,包含以下内容. 两个成员变量:半径r,颜色color 两个成员方法:求面积,求周长 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;} }
| |||||
四.对象创建 1.声明对象:类名 对象名; Rectangle m; Circle n; Circle circle; 2.为对象分配存储空间 对象名=new 类名(); Rectangle m; m=new Rectangle(); m=new Rectangle();//即 Rectangle m=new Rectangle(); 3.只定义对象,不分配存储空间 Rectangle m; M=null; 五.对象的初始化(对对象赋值--用构造方法) public Rectangle(double width,double length) {this.width=width;this.length=length;}初始化对象就是对其变量赋初值 1.构造方法的一般形式 访问符 类名(参数) { 初始化语句;} //类名必须与方法名一致 2.构造方法没有返回值的类型 3.当构造方法参数与局部变量同名时,使用this;不同时,省去this. 4.初始化的过程 Rectangle m; m=new Rectangle(); m=new Rectangle(3,5); 5.使用对象中的成员 对象名.成员名 (引用当前对象中的成员) //m.width m.length m.getArea() 例二:定义一个矩形类,包含以下内容: 两个成员名 长宽 两个成员方法 面积周长 初始化一个矩形对象m,宽为3,长为5.输出其长宽 面积 周长 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 double getPete() {return 2*(width+length);} //定义求周长的成员方法
public class 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()); } } 6.构造方法不是必须的,可以缺省,这时系统会自动调用默认的系统方法(没有参 数,方法体是空的) 7.构造方法可以有多种,若类中自己定义了构造方法,必须用定义的..不会调用默认的 练习:定义一个圆形类,包括以下内容 1>有两个成员变量:半径r 颜色color 2>两个成员方法:求面积getArea 求周长getPete 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());} }
| |||||
四、实验结果 例一:r color 3.14*r*r 2* 3.14*r*r 例二:3.0 5.0 15.0 16.0 练习:3.0 red 28.259999999999998 18.84 | |||||
五、结果分析与实验体会 本章介绍了定义类及应用的主要内容 类的定义包含了类名,成员变量和方法三个部分 每一个对象都是一个类的实例。一个类的不同对象具有相同的属性,但是这些属性的 值和具体对象相关。不同对象的相同行为(执行方法)可能引起不同的结果。 对象是一个类的实体,一般使用new运算符调用类所定义的构造方法创建。
|
注:1、实验类型分为:演示、验证、综合、设计研究或其他。
2、附录:可附加源程序代码清单等。
六、附录(源程序代码清单等)