⚠️ 漏实现的那个,当场就该炸

⚠️ 漏实现的那个,当场就该炸

新加的 Circle 忘了实现 area。写一个求和函数,让这种情况被抓住而不是静静地算错。

阅读更多 →
⚠️ 换写法之前,先证明两边等价

⚠️ 换写法之前,先证明两边等价

多态版和 if/elif 版各算一遍三个形状的面积,然后对拍。

阅读更多 →
🔴 加一个新形状,两种写法各要改几处

🔴 加一个新形状,两种写法各要改几处

上面三个函数里各有一串 if/elif。现在要加第四种形状。数一数两种写法各要动多少处老代码。

阅读更多 →
自己写:让两个子类各自实现 area

自己写:让两个子类各自实现 area

三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。父类已经把承诺立好了,把两个子类补完。

阅读更多 →
三个形状,一句话算完

三个形状,一句话算完

三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。三个类各自实现 area,调用方一句类型判断都没有: class Shape: """只承诺一件事

阅读更多 →
Python 里要不要非得继承同一个父类

Python 里要不要非得继承同一个父类

要让几个类能被同样地使用,在 Python 里【0】。

阅读更多 →
⚠️ 抽象方法里 raise 是干什么的

⚠️ 抽象方法里 raise 是干什么的

父类的方法体里写 raise NotImplementedError,用意是【0】。

阅读更多 →
多态到底省掉了什么

多态到底省掉了什么

用多态之后,代码里少掉的是【0】。

阅读更多 →
🔴 继承 list 做栈,把不该有的也带来了

🔴 继承 list 做栈,把不该有的也带来了

两个栈:一个继承 list,一个持有 list。看看后者有没有把 insert 也暴露出去。

阅读更多 →
⚠️ 同一个外壳,塞三种零件

⚠️ 同一个外壳,塞三种零件

三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。用同一个 Card 类做出三张卡片,标题依次是 甲、乙、丙。

阅读更多 →