python - 在子类中使用 super() 而不是 self?
问题描述
super()
在子类中使用和self
定义方法有什么区别double_area
?好像super().area()
和self.area
做同样的事情?应该使用哪一个,为什么他们做同样的事情?
class Rectangle(object):
def __init__(self, length, width):
self.length = length
self.width = width
def area(self):
return self.length*self.width
def perimeter(self):
return 2*self.length + 2*self.width
class Square(Rectangle):
def __init__(self,length):
super().__init__(length,length)
def double_area(self):
return 2*super().area()
解决方案
推荐阅读
- sql - 如何在 Access VBA 中运行附加查询以根据表单字段中的数量创建一定数量的相同记录?
- git - 连接被阻止,因为服务器只允许公钥认证
- r - 按每个条形图的唯一因子堆叠条形图顺序
- java - 使用 IN 子句对 arraylist 变量进行 SQL 查询
- python - 直接读取JPEG YUV数据
- sql - 如何使查询参数可选
- javascript - Next.js - Eslint 不会在开发模式下检查任何页面(除了 pages/_app.js)
- ruby - GC.start 似乎并没有真正收集垃圾
- powershell - PowerShell检查不同命名空间中的路径?
- ios - 我希望 UITableViewCell 完全覆盖 ios Swift 中的整个屏幕?