要求:1) 创建一个证件类,有两个子类凾别是身仹证和学生证
2) 创建一个车票类
3) 创建一个火车站类,售票方法,方法参数有证件、日期、目的地,返回值为车
2.StuCard类如下:
6.testTicket测试类内容如下:
2) 创建一个车票类
3) 创建一个火车站类,售票方法,方法参数有证件、日期、目的地,返回值为车
票。如果证件是学生证,车票打对折;如果为身仹证,原价。
4) 创建测试类,输出车票的信息;
Card类为证件类父类别;
StuCard类为子类别学生证类;
IDcard类为子类别身份证类;
代码块如下
1.Card类如下:
public class Card {
String name;
int age;
String sex;
String sname;
public Card(String name,int age,String sex,String sname){
this.name=name;
this.age=age;
this.sex=sex;
this.sname=sname;
}
public void buyTicket(){
Station station=new Station("无锡中心火车站","锡沪路");
System.out.println(station.saleTicket(this,"2016-7-29","信阳"));
}
}
2.StuCard类如下:
public class StuCard extends Card{
public StuCard(String name,int age,String sex,String sname){
super(name,age,sex,sname);
}
}
3.IDcard类如下:
public class IDcard extends Card{
public IDcard(String name,int age,String sex,String sname){
super(name,age,sex,sname);
}
}
4.Ticket类如下:
public class Ticket {
String from;
String to;
String date;
String trainNum;
float price;
String name;
String sex;
int age;
public String toString() {
return "Ticket [from=" + from + ", to=" + to + ", date=" + date + ", trainNum=" + trainNum + ", price=" + price+ "]";
}
}
5.Station类如下:
public class Station {
String name;
String location;
public Station (String name,String location){
this.location=location;
this.name=name;
}
public Ticket saleTicket(Card card,String date,String to){
Ticket t=new Ticket();
t.date=date;
t.from="无锡";
t.to=to;
if("student".equals(card.sname)){
t.price=107/2;
}else{
t.price=107;
}
t.trainNum="K462";
t.name=card.name;
t.sex=card.sex;
t.age=card.age;
return t;
}
}
6.testTicket测试类内容如下:
public class testTicket {
public static void main(String[] args) {
Card person1=new StuCard("任人人",18,"女","student");
person1.buyTicket();
System.out.println(person1);
}
}
打印出来的结果如图所示;