Compare commits
2 Commits
aaec7bb5db
...
a9d62a1ff5
| Author | SHA1 | Date | |
|---|---|---|---|
| a9d62a1ff5 | |||
| 266d23e620 |
@@ -0,0 +1,4 @@
|
||||
### 困难部分第 30 题
|
||||
此题考查继承与多态,我只需要按题目去定义即可。为了方便在列表中创建实例,加了`__init__`方法。Python 定义抽象类需要来自模块 abc 的装饰器 @abstractmethod,能够让 Pylance 不发出协变不兼容警告,此处为了简便没有使用
|
||||
|
||||
[回到主项目 README](../README.md)
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
+11
-3
@@ -3,12 +3,20 @@ class Shape:
|
||||
return 0
|
||||
|
||||
class Circle(Shape):
|
||||
def __init__(self, r):
|
||||
self.r = r
|
||||
|
||||
def area(self):
|
||||
return 3.14 * r * r
|
||||
return 3.14 * self.r * self.r
|
||||
|
||||
class Square(Shape):
|
||||
def __init__(self, side):
|
||||
self.side = side
|
||||
|
||||
def area(self):
|
||||
return side * side
|
||||
return self.side * self.side
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
shapes = [Circle(3), Square(5)]
|
||||
for s in shapes:
|
||||
print(s.area())
|
||||
Reference in New Issue
Block a user