上机实验4 java类的应用.doc
文本预览下载声明
熟悉多态性的两种形式:
方法重载overload:在一个Math类中,定义多个同名方法Add,分别用来计算2个int、float、double型数之和,并写一个测试程序完成测试。
重写override
定义一个父类Sale,提供2个方法:getSalePrice 、setSalePrice,然后再定义一个子类DiscountSale,重写相关方法。写一个测试程序,根据不同情况,选择不同的销售策略,验证多态性。
定义一个父类Game,提供方法Play,然后再定义几个子类Basketball,Football,分别重写Play方法,然后写一个测试程序,验证多态性。
定义一个抽象父类Game,抽象方法Play、getGameName,然后再定义2个子类Basketball,Football,分别重写抽象方法,然后写一个通用中间类,只需要一个方法。用来调用各子类的以上方法。最后,写一个测试程序,通过通用中间类验证多态性。(指出通用中间类中的关键点是什么?)
在题2的基础上,若要增加一个新的子类Tennis,实现扩展功能,如何去做?(注意:不可改变框架中的任何类 – 测试程序除外) --- 总结关键点有哪些?
针对题2进行改写。定义一个接口Game,实现以上2,3题的内容。
将书本中例6.1、6.2、6.3进行练习,理解相关使用规则。
自定义一个异常类:定义一个BankAccount类,其中方法(取钱):withdraw,当取的钱大于余额balance时,捕获异常。并写出测试程序验证。
熟悉多态性的两种形式:
方法重载overload:在一个MyMath类中,定义多个同名方法Add,分别用来计算2个int、float、double型数之和,并写一个测试程序完成测试。
package four.exercise.java;
/*
1) 方法重载overload:在一个MyMath类中,定义多个同名方法Add,
分别用来计算2个int、float、double型数之和,
并写一个测试程序完成测试。
*/
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);
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);
}
}
重写override
定义一个父类Sale,提供2个方法:getSalePrice 、setSalePrice,然后再定义一个子类DiscountSale,重写相关方法。写一个测试程序,根据不同情况,选择不同的销售策略,验证多态性。
package four.exercise.java;
/*
* a) 定义一个父类Sale,提供2个方法:getSalePrice 、setSalePrice,
* 然后再定义一个子类DiscountSale,重写相关方法。
* 写一个测试程序,根据不同情况,选择不同的销售策略,验证多态性。
*
*/
class Sale {
String name=; //销售活动名称:圣诞节促销、正常销售、情人节促销等等
String goodsName=; //某个商品的名称
double salePrice=0.0; //某个商品的销售价格
//默认构造方法 - 为了子类的需要
Sale(){
}
//构造方法 - 创建对象时,即初始化销售活动名称、商品名称、销售价格
Sale(String name,String goodsName, double price){
this.name = name;
this.goodsName = goodsName;
this.salePr
显示全部