-1
任務是定義名爲'Shape'的類及其子類'Square'。 Square類有一個'init'函數,它將給定的長度作爲參數。這兩個類都有一個區域功能,可以打印形狀的區域,其中Shape的區域默認爲0。不確定如何使用python中的子類和超類完成此任務
這是我的時刻:
class Shape:
area = 0
def __init__(self, ??):
class Square(Shape):
def __init__(self, length):
self.length = length
def area(self):
a = (self.length * self.length)
print('The area of a square with a side length of %f is %f' % (self.length, a))
s = Square(2)
s.area()
我不確定在外形超要做什麼。
在我看來像形狀應該是一個抽象類。如果是這樣的話,它可以定義抽象區域方法,然後在子類中提供實現。 – MeterLongCat
我認爲在超類中有一個'print_area(self)'方法是可取的,它只打印字段區域並在子類的__init__方法中初始化它,並且沒有覆蓋函數來打印子類中的區域。 – Chris
_「這兩個類都有區域功能」_' area = 0'不是函數。你可以先解決這個問題。 –