实验三 面向对象基础编程

上传人:zw****58 文档编号:41234656 上传时间:2018-05-28 格式:DOC 页数:3 大小:207KB
返回 下载 相关 举报
实验三 面向对象基础编程_第1页
第1页 / 共3页
实验三 面向对象基础编程_第2页
第2页 / 共3页
实验三 面向对象基础编程_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验三 面向对象基础编程》由会员分享,可在线阅读,更多相关《实验三 面向对象基础编程(3页珍藏版)》请在金锄头文库上搜索。

1、实验三实验三 面向对象基础编程(一)面向对象基础编程(一)【开发语言及实现平台或实验环境】 Windows2000 或 XP,JDK1.6 与 Eclipse 【实验目的】 1掌握类的定义和生成机制 2了解构造函数的作用【实验要求】1.简单类的定义。2.对象创建和使用。3.访问控制修饰符的作用。4.掌握静态属性、方法和初始化器的特点。【实验内容】 一创建对象new 构造函数(构造方法参数列表) 二使用修饰符 常用的修饰符如下。public private protected package static final transient volatile不同修饰符的访问控制权限如表 5.1 所示

2、。表 5.1三方法中参数传递的练习 在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。在 Java 中,方法中的参数传递可以分为传值调用或对象方法调用等方式。传值调用即传递的参数 是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。对 象调用是指先调用对象,再调用对象的方法,这种方式可以修改允许存取的成员变量。所 以,如果不想改变参数的值,可以采用传值调用的方法。如果想改变参数的值,可采用对 象调用的方法,间接修改参数的值。 1.编写一个传值调用的程序文件 TestParamTransfer1.java。 (1)程序功能:程序首先给整型变量 x 和 y

3、赋一个初值 10,然后使用传值调用方式 调用方法 ff1 对 x 和 y 做乘方及输出 x 和 y 的乘方值,最后再输出 x 和 y 的乘方值。 (2)程序源代码如下。class TestParamTransfer1 public static void main(String args) int x=10, y=10; ff1(x, y); System.out.println(“x=“+x+“, y=“+y); static void ff1(int passX, int passY) passX=passX*passX;passY=passY*passY; System.out.prin

4、tln(“passX=“+passX+“, passY=“+passY); (3)编译 TestParamTransfer1.java,其运行结果如图 5.4 所示。图 5.4(4)分析其运行结果 这个程序没有实现预期的结果,原因是 ff1 方法采用了传值调用。调用 ff1 方法时, 将产生两个参数 passX 和 passY,x 和 y 的值被传递给这两个参数。尽管在方法中计算了 参数的平方,但从 ff1 方法返回后,参数消失,此时 x 和 y 的值仍是初值。 2编写一个调用对象方法的程序文件 TestParamTransfer2.java。 (1)程序功能:通过调用对象的方法在方法调用后修

5、改了成员变量的值。 (2)TestParamTransfer2.java 程序源代码如下。class TestParamTransfer1 public static void main(String args) Power p=new Power(); p.ff2(10,10); System.out.println(“方法调用后 x=“+p.x+“, y=“+p.y); class Power int x=10, y=10; void ff2(int passX, int passY) System.out.println(“初始时 x=“+x+“, y=“+y);x=passX*pass

6、X; y=passY*passY; System.out.println(“方法调用中 x=“+x+“, y=“+y); (3)编译 LX3_6.java,其运行结果如图 5.5 所示。图5.53.一个 Fan 有自己的品牌和型号,其功能有 start,stop,speed,start 和 stop 可以 改变 Fan 的状态 status(on/off),speed 可以调整 Fan 的速度(档级在 0、1、2、3) ,请 分析并提供 Fan 类的定义。并编写程序对其进行测试。publicpublic classclass Fan privateprivate String band; pr

7、ivateprivate String type; privateprivate String status ;privateprivate intint speed; publicpublic Fan(String band,String type,String status,intint speed) thisthis.band=band; thisthis.type=type; thisthis.status=status; thisthis.speed=speed; publicpublic String start() returnreturn status; publicpubli

8、c String stop() returnreturn status; publicpublic voidvoid speed(intint a) thisthis.speed=a; publicpublic staticstatic voidvoid main(Stringargs) Fan t=newnew Fan(“ss“,“dd“,“off“,1); System.out.printf(“%s,%s,%b,%d“,t.band,t.type,t.status,t.speed);【完成实验项目】 1. 写一个名为 Rectangle 的类表示矩形。其属性包括宽 width、高 heig

9、ht 和颜色 color,width 和 height 都是 double 型的,而 color 则是 String 类型的。要求该类提供 计算面积的方法 getArea()方法,以及修改 width 和 height 的值及获得 width 和 height 当前值的方法。要求: (1)使用构造函数完成各属性的初始赋值 (2)使用 getter 和 setter 的形式完成属性的访问及修改2. . 请定义一个名为 Card 的扑克牌类,该类有两个 private 访问权限的字符串变量 face 和 suit:face 描述一张牌的牌面值(如:“Ace“, “Deuce“, “Three“,“

10、Four“, “Five“, “Six“, “Seven“, “Eight“, “Nine“, “Ten“, “Jack“, “Queen“, “King“) ;suit 描述一张牌的花色(如: “Hearts“, “Diamonds“, “Clubs“, “Spades“) 。定义 Card 类中的 public 访问权限的构造方法, 为类中的变量赋值;定义 protected 访问权限的方法 getFace(),得到扑克牌的牌面值; 定义 protected 访问权限的方法 getSuit(),得到扑克牌的花色; 定义方法 toString(),返回表示扑 克牌的花色和牌面值字符串(如“Ace of Hearts” 、 “Ten of Clubs”等) 。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号