⚠️ 漏实现的那个,当场就该炸
新加的 Circle 忘了实现 area。写一个求和函数,让这种情况被抓住而不是静静地算错。
阅读更多 →
⚠️ 换写法之前,先证明两边等价
多态版和 if/elif 版各算一遍三个形状的面积,然后对拍。
阅读更多 →
🔴 加一个新形状,两种写法各要改几处
上面三个函数里各有一串 if/elif。现在要加第四种形状。数一数两种写法各要动多少处老代码。
阅读更多 →
自己写:让两个子类各自实现 area
三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。父类已经把承诺立好了,把两个子类补完。
阅读更多 →
三个形状,一句话算完
三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。三个类各自实现 area,调用方一句类型判断都没有: class Shape: """只承诺一件事
阅读更多 →
Python 里要不要非得继承同一个父类
要让几个类能被同样地使用,在 Python 里【0】。
阅读更多 →
⚠️ 抽象方法里 raise 是干什么的
父类的方法体里写 raise NotImplementedError,用意是【0】。
阅读更多 →
多态到底省掉了什么
用多态之后,代码里少掉的是【0】。
阅读更多 →
🔴 继承 list 做栈,把不该有的也带来了
两个栈:一个继承 list,一个持有 list。看看后者有没有把 insert 也暴露出去。
阅读更多 →
⚠️ 同一个外壳,塞三种零件
三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。用同一个 Card 类做出三张卡片,标题依次是 甲、乙、丙。
阅读更多 →