我正在Python中創建一個程序,它將利用面向對象編程來打印給定矩形的屬性。該項目有這些給定的限制:面向對象的Python - 使用類和函數的矩形
本實驗的目的是讓你練習創建自己的 對象。您將得到一個主函數,該函數需要一個 (尚未定義)Rectangle對象的實例。您的工作是確定矩形類所需的屬性和方法,並創建滿足要求的類 。
- 一次只添加一個功能
- 您可能需要註釋掉的主要功能部件進行測試
- 構造應採取0,1,或2個參數(說明多態性)
- 你類應該是某個東西的子類(說明繼承)
- 你的類應該有方法和屬性(說明封裝)
- 使你的實例變量隱藏(使用__技巧)
種- 每個實例變量
- 使用屬性來封裝實例變量訪問
- 添加setter和getter方法不是所有的實例變量是真實的...有些人得到的,而應該是隻寫
- 你可能不顯着改變的主要功能(除非你做的挑戰黑帶)
- 需要
時,請務必添加所需的代碼運行的主要功能
這裏是欄目
- 代碼:main()函數是相對不變3
- 代碼:Rectangle類與默認值聲明所以它支持0,1和2參數3
- 代碼:實例化矩形(5,7)2
- 代碼:實例化矩形()2
- 代碼:矩形類定義__實例變量2
- 代碼:定義getter和setter方法對每個實例變量2
- 代碼:Rectangle類包括的面積和周長方法4
- 代碼:Rectangle類的東西繼承,即使它的對象2
- 鱈魚E:矩形類定義的寬度和長度特性4
- 代碼:矩形包括衍生只讀實例變量2
- 代碼:當Python文件作爲主2
- 代碼執行調用主:矩形類定義getStats( )方法返回字符串4
- 執行:打印矩形A:1
- 執行:打印面積:35 1
- 執行:打印周長:24 1
- 執行:打印矩形b:1
- 執行:打印寬度:10 1
- 執行:打印高度:20 1
- 執行:打印面積:200 1
- 執行:打印周長:60 1
分數40
我給這個代碼開始:
def main():
print "Rectangle a:"
a = Rectangle(5, 7)
print "area: %d" % a.area
print "perimeter: %d" % a.perimeter
print ""
print "Rectangle b:"
b = Rectangle()
b.width = 10
b.height = 20
print b.getStats()
我應該得到這樣的輸出:
Rectangle a:
area: 35
perimeter: 24
Rectangle b:
width: 10
height: 20
area: 200
perimeter: 60
到目前爲止,我已經得到了這一點,但我不能讓矩形B到打印寬度和高度能否請您看看?
class Rectangle:
def __init__(self, width=0, height=0):
self.width = width
self.height = height
def area(self):
return self.width * self.height
def perimeter(self):
return 2 * self.height + 2 * self.width
def setWidth(self, width):
self.width = width
def setHeight(self, height):
self.height = height
def getStats(self):
return "area: %s\nperimeter: %s" % (self.area(), self.perimeter())
def main():
print ""
print "Rectangle a:"
a = Rectangle(5, 7)
print "area: %s" % a.area()
print "perimeter: %s" % a.perimeter()
print ""
print "Rectangle b:"
b = Rectangle()
b.width = 10
b.height = 20
print b.getStats()
print ""
main()
我目前得到這個輸出:
Rectangle a:
area: 35
perimeter: 24
Rectangle b:
area: 200
perimeter: 60
Process finished with exit code 0
注意你還沒有完成要求4和6 –