上机实验4 java类的应用

上传人:第*** 文档编号:38879662 上传时间:2018-05-09 格式:DOC 页数:10 大小:86KB
返回 下载 相关 举报
上机实验4 java类的应用_第1页
第1页 / 共10页
上机实验4 java类的应用_第2页
第2页 / 共10页
上机实验4 java类的应用_第3页
第3页 / 共10页
上机实验4 java类的应用_第4页
第4页 / 共10页
上机实验4 java类的应用_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《上机实验4 java类的应用》由会员分享,可在线阅读,更多相关《上机实验4 java类的应用(10页珍藏版)》请在金锄头文库上搜索。

1、1熟悉多态性的两种形式: 1) 方法重载 overload:在一个 Math 类中,定义多个同名方法 Add,分别用 来计算 2 个 int、float、double 型数之和,并写一个测试程序完成测试。2) 重写 override a) 定义一个父类 Sale,提供 2 个方法:getSalePrice 、setSalePrice,然 后再定义一个子类 DiscountSale,重写相关方法。写一个测试程序, 根据不同情况,选择不同的销售策略,验证多态性。 b) 定义一个父类 Game,提供方法 Play,然后再定义几个子类 Basketball,Football,分别重写 Play 方法,

2、然后写一个测试程序,验 证多态性。2定义一个抽象父类 Game,抽象方法 Play、getGameName,然后再定义 2 个 子类 Basketball,Football,分别重写抽象方法,然后写一个通用中间类,只 需要一个方法。用来调用各子类的以上方法。最后,写一个测试程序,通过 通用中间类验证多态性。 (指出通用中间类中的关键点是什么?)3在题 2 的基础上,若要增加一个新的子类 Tennis,实现扩展功能,如何去做? (注意:不可改变框架中的任何类 测试程序除外) - 总结关键点有哪 些?4针对题 2 进行改写。定义一个接口 Game,实现以上 2,3 题的内容。5将书本中例 6.1、

3、6.2、6.3 进行练习,理解相关使用规则。6自定义一个异常类:定义一个 BankAccount 类,其中方法(取钱): withdraw,当取的钱大于余额 balance 时,捕获异常。并写出测试程序验证。1熟悉多态性的两种形式: 1) 方法重载 overload:在一个 MyMath 类中,定义多个同名方法 Add, 分别用来计算 2 个 int、float、double 型数之和,并写一个测试程序 完成测试。package four.exercise.java;/*1) 方法重载overload:在一个MyMath类中,定义多个同名方法Add,分别用来计算2个int、float、doub

4、le型数之和,并写一个测试程序完成测试。*/public class MyMath int Add(int a, int b)return (a + b)*10;float Add(float a, float b)return (a + b)*20;double Add(double a, double b)return (a + b)*30;/测试代码 用来验证不同Add方法的调用(传入参数的类型不同,选取的Add方法不同)public static void main(String args)MyMath mm = new MyMath();int result1 = mm.Add(3,

5、 5);float result2 = mm.Add(3.0f, 5.0f);double result3 = mm.Add(3.0, 5.0);System.out.println(“result1 = “ + result1);System.out.println(“result2 = “ + result2);System.out.println(“result3 = “ + result3);2) 重写 override a) 定义一个父类 Sale,提供 2 个方法:getSalePrice 、setSalePrice, 然后再定义一个子类 DiscountSale,重写相关方法。写

6、一个测试 程序,根据不同情况,选择不同的销售策略,验证多态性。package four.exercise.java;/* a)定义一个父类Sale,提供2个方法:getSalePrice 、setSalePrice,* 然后再定义一个子类DiscountSale,重写相关方法。* 写一个测试程序,根据不同情况,选择不同的销售策略,验证多态性。* */class Sale String name=“; /销售活动名称:圣诞节促销、正常销售、情人节促销等等String goodsName=“; /某个商品的名称double salePrice=0.0; /某个商品的销售价格/默认构造方法 - 为了

7、子类的需要 Sale()/构造方法 - 创建对象时,即初始化销售活动名称、商品名称、销售价格 Sale(String name,String goodsName, double price)this.name = name;this.goodsName = goodsName;this.salePrice = price;/设置销售活动名称 void setSaleName(String name)this.name = name;/获取销售活动名称 String getSaleName()return name;/设置商品名称 void setGoodsName(String goodsNa

8、me)this.goodsName = goodsName;/获取商品名称 String getGoodsName()return goodsName;/获取销售价格 double getSalePrice()return salePrice;/设置其销售价格 void setSalePrice(double price)salePrice = price;void OutMessage()System.out.println(getSaleName() + “期间, 商品:“ + getGoodsName() + “的价格是:“ + getSalePrice(); class Discoun

9、tSale extends Saledouble discount=1.0;double getSalePrice()return salePrice*discount;void setSalePrice(double price)salePrice = price;void setDiscount(double discount)this.discount = discount;public class SaleDemopublic static void main(String args)/测试父类 SaleSale sale = new Sale(“正常销售“, “T恤“, 100.0)

10、; sale.OutMessage();sale.setSaleName(“圣诞节促销“); sale.setSalePrice(80.0);sale.OutMessage();/测试子类DiscountSale DiscountSale ds = new DiscountSale();ds.setSaleName(“情人节促销“);ds.setGoodsName(“牛仔裤“);ds.setSalePrice(120.0); /不打折时的价格 ds.OutMessage();ds.setDiscount(0.6); /打折:6折 ds.OutMessage();b) 定义一个父类 Game,提

11、供方法 Play,然后再定义几个子类 Basketball,Football,分别重写 Play 方法,然后写一个测试程序, 验证多态性。 /*b)定义一个父类Game,提供方法Play,然后再定义几个子类Basketball,Football,分别重写Play方法,然后写一个测试程序,验证多态性。 */package four.exercise.java;class Gamevoid play()class Basketball extends Gamevoid play()System.out.println(“现在开始打篮球!“); class Football extends Game

12、void play()System.out.println(“现在开始踢足球!“); class Tennis extends Gamevoid play()System.out.println(“现在开始打网球!“); /测试程序 public class GameDemo public static void main(String args)Game game;game = new Basketball();game.play();game = new Football();game.play();game = new Tennis();game.play();2定义一个抽象父类 Gam

13、e,抽象方法 play、getGameName,然后再定义 2 个子类 Basketball,Football,分别重写抽象方法,然后写一个通用中间 类,只需要一个方法。用来调用各子类的以上方法。最后,写一个测试 程序,通过通用中间类验证多态性。 (指出通用中间类中的关键点是什么? ) 通用中间类中的关键点是:方法的参数中,用抽象类来定义变量,这样,可 以确保传入任意子类对象。/* 定义一个抽象父类 Game,抽象方法 play、getGameName,然后再定义 2 个 子类 Basketball,Football,分别重写抽象方法,然后写一个通用中间类,只需要一个方法。用来调用 各子类的以

14、上方法。最后,写一个测试程序,通过通用中间类验证多态性。 (指出通用中间类中 的关键点是什么?)*/ package AbstractGame.four.exercise.java;abstract class Game public abstract void play(); public abstract String getGameName(); class Basketball extends Game String gameName;Basketball(String name) gameName = name; public void play() System.out.print

15、ln(“现在开始打篮球!“); public String getGameName() return gameName; class Football extends Game String gameName;Football(String name) gameName = name; public void play() System.out.println(“现在开始踢足球!“); public String getGameName() return gameName; / 中间类 - 通过中间类,接收参数为 Game 类的对象或 Game 类的子类对象, 从而调用不同子类的 play 方

16、法 class MiddleClass void callPlay(Game game) System.out.print(game.getGameName() + “运动时间:“); game.play(); /测试程序 public class AbstractGameDemo public static void main(String args) Game game; MiddleClass mc = new MiddleClass();game = new Basketball(“篮球“); mc.callPlay(game);game = new Football(“足球“); mc.callPlay(game); 3在题 2 的基础上,若要增加一个新的子类 Tennis,实现扩展功能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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