您的位置:首页 > 编程语言 > Java开发

JAVA基础类与对象实现模拟火车站购票功能

2016-07-11 21:18 381 查看
要求:1) 创建一个证件类,有两个子类凾别是身仹证和学生证

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);
}
}


打印出来的结果如图所示;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息