Python物件導向 房子新增家具

2021-09-23 01:53:24 字數 1519 閱讀 1205

需求:有一套一室一廳、55平公尺的房子要裝修擺放家具,房子有戶型、總面積、剩餘面積,家具列表四個屬性。家具有占地面積和名稱兩個屬性,家具類的物件有:雙人床占地4平公尺,桌子占地1.5平公尺,衣櫃占地2.5平公尺。將以上家具新增到房子中。

根據需求先建立家具的類和物件:

class houseitem:

def __init__(self, name, area):

self.name = name

self.area = area

def __str__(self):

return "%s占地%.2f平公尺" % (self.name, self.area)

bed = houseitem("雙人床", 4)

table = houseitem("桌子", 1.5)

chest = houseitem("衣櫃", 2.5)

print(bed)

print(table)

print(chest)

結果:

雙人床占地4.00平公尺

桌子占地1.50平公尺

衣櫃占地2.50平公尺

然後再建立房子來新增家具的物件:

class house:

def __init__(self, house_type, area):

self.house_type = house_type

self.area = area

self.free_area = area

self.item_list =

def __str__(self):

return ("戶型:%s\n總面積:%.2f【剩餘面積:%.2f】\n家具:%s"

% (self.house_type, self.area,

self.free_area, self.item_list))

def add_item(self, item):

print("要新增%s" % item)

#判斷家具面積是否大於剩餘面積,若大於則提示不能新增

if item.area > self.free_area:

print("%s占地面積太大,無法新增到房子" % item.name)

return

#新增的家具追加到列表

#剩餘面積=剩餘面積-家具面積

self.free_area -= item.area

my_home = house("一室一廳", 55)

my_home.add_item(bed)

my_home.add_item(table)

my_home.add_item(chest)

print(my_home)

結果:

要新增雙人床占地4.00平公尺

要新增桌子占地1.50平公尺

要新增衣櫃占地2.50平公尺

戶型:一室一廳

總面積:55.00【剩餘面積:47.00】

家具:[『雙人床』, 『桌子』, 『衣櫃』]

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...