2012-04-27 36 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(); 
}