1

这是一个继承问题,问题是 Ticket 类是抽象的,我正在尝试创建一个扩展 Ticket 类的 AdvanceTicket 类。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  
    }

}
4

3 回答 3

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

如果您不想覆盖 getPrice(),则在派生类中也将其声明为抽象,并将派生类声明为抽象。

abstract class AdvanceTicket extends Ticket
{
   public abstract getPrice();
}
于 2012-04-27T05:26:48.523 回答
0
 class AdvanceTicket extends Ticket
于 2012-04-27T03:49:23.057 回答
0

Ticket您可以在创建类时简单地扩展。

class AdvanceTicket extends Ticket {
    // Implementation here
}

关于代码的一般说明:如果您要使用serialNumber,则应声明static。另外,/n应该是\n

于 2012-04-27T03:51:29.993 回答