2012-04-27 32 views
1

这是一个继承问题,事情是Ticket类是抽象的,我试图做一个AdvanceTicket类来扩展Ticket类。 AdvanceTicket课程应该充当在活动前购买的门票,并且在活动开始前10天购买的门票价格为30美元。活动前至少购买1次但少于10天的门票价格为40美元。如何从抽象类中创建扩展类?

public abstract class Ticket { 

    private int serialNumber; 

    public Ticket() { 
     serialNumber = getNextSerialNumber(); { 
     } 
     //returns the price for this ticket 
     public abstract double getPrice(); 
    } 
    public String toString() { 
     return "Number: " + serialNumber + "/nPrice: " + getPrice(); 
    } 
    //returns a new unique serial Number 
    public static int getNextSerialNumber() { 
    //implementation not shown 
    } 

} 
+0

您描述的行为应该在控制器中,而不是在模型中(Ticket)。这是功课吗? – Perception 2012-04-27 03:50:21

+0

我有同样类型的问题。我知道你只会扩展票务,但是那个高级票务课程里面会有什么? – 2012-04-27 03:58:45

回答

0
class AdvanceTicket extends Ticket 
0

创建一个类时,您可以简单地扩展Ticket

class AdvanceTicket extends Ticket { 
    // Implementation here 
} 

有关代码一般的话:如果你要使用serialNumber,应宣布static。另外,/n应该是\n

2
class AdvanceTicket extends Ticket 
{ 
    public double getPrice() //you must override abstract method ie. getPrice(); 
    { 
      ....... 
    } 
} 

如果不想覆盖getPrice(),然后在派生类中声明为抽象太也宣布派生类的抽象。

abstract class AdvanceTicket extends Ticket 
{ 
    public abstract getPrice(); 
}