所以我有一個absract超類和一個子類,它擴展了超類中沒有在超類中聲明的字段。有沒有辦法從超類中訪問這些字段?我不能在超類中聲明這些字段,因爲它有其他可能沒有這些字段的子語句。你可以訪問未在超類中聲明的子類的字段嗎?
編輯,以使其更清晰:
,所以我做出某種店裏面有不同的項目。因此,我有一個名爲item的抽象類(帶有字段:價格),不同的項目是擴展項目類別以定義價格的對象。但也有一些特殊物品,其中同一物品的所有實例都有不同的ID,他們也會聲明它們的價格。 「購物者」必須能夠製作正常和特殊物品的「購物清單」,其中可以計算總價格,但是您還必須能夠從列表中看到特殊物品的編號。
編輯:我想實現的一個例子。
我做了一個小例子
//The numbers are different for each ticket
// and are used to denote a winner in the end.
abstract class LotteryTicket(val numbers: String) {
val price: Int
}
class GoldTicket(numbers: String) extends LotteryTicket(person) {
val price: Int = 10
}
class SilverTicket(numbers: String) extends LotteryTicket(person) {
val price: Int = 5
}
abstract class Drink {
val price: Int
}
object Water extends Drink {
val price: Int = 1
}
object Coffee extends Drink {
val price: Int = 2
}
class Bill
class Customer
類「法案」應該包含一個列表,它可以包括飲料以及LotteryTickets, ,對此總可以計算客戶必須是能夠做出這樣的賬單。 客戶類別還需要一種確認購買的方法,並檢查他的 LottoryTicket上的號碼是否與他購買的每張售票不同。因爲當他在2張票上有相同的號碼時 確認失敗。
那麼我正在做一些有不同項目的商店。所以我有一個叫做物品的類(有一個字段:價格),不同的物品是物品,因爲它們只有價格而沒有別的東西。但也有一些特殊項目,其中每個項目的實例都有不同的ID。 「購物者」必須能夠製作正常和特殊物品的「購物清單」,其中可以計算總價格,但是您還必須能夠從列表中看到特殊物品的編號。 –