自己写:让卡片持有一份尺寸
把 Card 补完——它持有尺寸,不继承尺寸。
阅读更多 →
⚠️ 换掉里面那个零件,外面一行没改
换一种尺寸塞进去。Card 一个字都没动。 class Size: """一份尺寸,自己管自己的校验""" def __in
阅读更多 →
一张卡片持有一份尺寸
三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。Card **持有**一个 Size,而不是继承它: class Size: """一份尺寸,自己
阅读更多 →
继承带来的那个额外麻烦是什么
用继承复用代码,附带的麻烦是【0】。
阅读更多 →
⚠️ 「组合优于继承」说的是什么
这句老话的意思是【0】。
阅读更多 →
「has-a」和「is-a」怎么分
判断该用组合还是继承,最好用的一句话是【0】。
阅读更多 →
⚠️ 修法:让它们做兄弟,不做父子
既然"正方形 is-a 长方形"站不住,就让两者都继承一个只承诺"能算面积"的父类。把 Square 写出来。
阅读更多 →
🔴 把"预期"和"实际"摆在一起
把长方形的结果、正方形的结果、以及调用方对正方形的预期三个数一起输出。
阅读更多 →
父类的初始化谁来调
给长方形加一个名字。补上构造里漏掉的那一句。
阅读更多 →
🔴 同一个函数,喂子类进去就不对了
一个函数只做一件事:把宽改成 10,然后返回面积。调用方拿的是"长方形",预期是 10 乘原来的高。两个对象各喂一次: class Rect: def __init__(s
阅读更多 →