第四章 习题课程序分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章习题课程序分析
1.定义一个有抽象方法display( )的父类SuperClass;提供实现其抽象方法的子类SubClassA和SubClassB。创建一个测试类PolyTest,测试类有一个具有两个元素的SuperClass对象数组,数组元素分别指定为SubClassA和SubClassB。循环调用每个数组元素的共享方法display。
public abstract class SuperClass
{ public abstract void display(); }
class SubClassA extends SuperClass
{ public void display()
{ System.out.println(“This is subclass A.”); }
}
class SubClassB extends SuperClass
{ public void display()
{ System.out.println(“This is subclass B.”); }
public class PolyTest
{ public static void main(String args[])
{ SuperClass array[ ]=new SuperClass[2];
array[0]=new SubClassA();
array[1]=new SubClassB();
for(int i=0; i<>
array[i].display();
}
}
2.设计一个交通工具类vehicle,其中的属性包括速度speed、种类kind;方法包括:设置颜色setColor,取得颜色getColor。再设计一个子类Car,增加属性passenger表示可容纳旅客人数,添加方法取得最大速度getMaxSpeed()。
import java.awt.*;
public class vehicle
{ private int speed;
private String kind;
//private Color color;
public vehicle()
{ speed=2000;
kind= "TO";
color=Color.red;
}
public vehicle(int s, String k, Color c)
{ speed=s;
kind= k;
color=c;
}
public void setColor(Color cl)
{ color=cl; }
public void getColor(String)
{ if(equals(kind, k))
{ return color; }
}
}
class Car extends vehicle
{ super(2000,"DD",blue);
int passengers;
public int getMaxSpeed()
{ ……}
}
3.创建两个具有继承关系的类:Produce父类和Sales子类。
(1)父类声明产品名称name、产品价格price成员数据,并声明一方法将产品名称、产品价格信息进行输出显示。
(2)子类数据成员包含:产品名称、产品价格name、产品价格price、销售数量num、折扣discount。并包含费用cost计算方法,费用计算方法完成商品销售计算:总金额 = 价格×数量×折扣。
(3)设计应用程序,在Produce_sales中创建子类Sales类的对象并统计显示输出。
对象s1为洗衣机销售情况:洗衣机,666.99,400,0.9。
对象s2为电冰箱销售情况:电冰箱,6887.78,70,0.95。
class Produce
{ protected String name;
protected double price;
public Produce(String name,double price)
{ =name;
this.price=price;
}
public String toString( )
{ String s=n ame+ “\t” + price;
return s;
}
}
class Sales extends Produce
{ protected int num;
protected double discount;
public Sales(String name,double price,int num,double discount) { super(name,price);
this.num=num;
this.discount=discount;
}
public double cost( )
{ double cost=super.price*num*discount;
return cost;
}
}
public class Produce_sales
{ public static void main(String args[ ])
{ Sales s1=new Sales(“洗衣机”,666.99,400,0.9);