所以我一直在試圖理解類,子類,實例化,以及所有 那些好東西。我一直在試圖編寫一個類似於我看到的更復雜的代碼(或者至少對我來說很難遵循)的簡單代碼,但是 我無法連接所有代碼。Python:類/子類和繼承/確定子類
這是我想要發生的事情。
我們有一個班的酒店。當你進入酒店時,你有一個名字和一個房間號碼 。你房間的數量決定你在哪個樓層。
class Hotel(object):
def __init__(self, name, room_number):
self.name = name
self.room_number = room_number
self.floor = self.room_number//10
所以
Abe = Hotel("Abe", 104)
print "%s is in room %d on floor %d." % (Abe.name,
Abe.room_number,
Abe.floor)
安倍是在104房間地板上1
Bob = Hotel("Bob", 225)
print "%s is in room %d on floor %d." % (Bob.name,
Bob.room_number,
Bob.floor)
鮑勃是在225房間地板2
而且我想第一,二樓是酒店的分類。 Fisrtst地板將有一臺自動售貨機,第二臺將有一個電腦大廳 。
class FirstFloor(Hotel):
# Something should go here?
def vending_machine(): # something inside the()?
print "You buy a soda and feel refreshed."
class SecondFloor(Hotel):
# Something should go here?
def computer_lobby(): # something inside the()?
print "You have learned to write python!"
我需要添加什麼才能確定是否可以使用自動售貨機或計算機大廳?
對不起,如果看起來不太正確,我是比較新的,這是我在stackoverflow上的第一篇文章。
繼承是一種「是」的關係。在你的設計中,說「三樓是酒店」是否合理?您的酒店正在跟蹤它有多少樓層......第三層有多少層?你也應該抽象地板。現在,如果您想要單個「樓層」課程,並且您將其中的多個課程放在「酒店」課程的列表或詞典中,則必須爲每層複製課程。然後你可以明智地說「我的酒店有地板」。 – tdelaney
我明白了。這就說得通了。所以,如果我這樣做,我怎麼會給每層樓它獨特的功能,你不能從其他樓層訪問? – Daniel