⚠️ 第四步:四条用例覆盖三类
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)⚠️ 判题机上没有测试框架,所以这一节用一份**最小的脚手架**:一个 CHECK 宏,数着"跑了几条、过了几条、挂了几条"。框架再花哨,核心也是
交付:三条验收 + 四条用例
(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)⚠️ 判题机上没有测试框架,所以这一节用一份**最小的脚手架**:一个 CHECK 宏,数着"跑了几条、过了几条、挂了几条"。框架再花哨,核心也是
「封装」把什么放到了一起
面向对象说的封装,指的是把【0】放进同一个东西里。
⚠️ 数据裸着放,最直接的坏处是什么
数据和管它的规矩,离多远 散着放 放一起 把宽高做成公开属性、谁都能直接赋值。最直接的坏处是【0】。
一个类该暴露什么、藏什么
数据和管它的规矩,离多远 散着放 放一起 设计一个类时,该暴露出去的是【0】。
Python 里的 `_` 前缀意味着什么
数据和管它的规矩,离多远 散着放 放一起 把属性写成 _w 这种下划线开头,效果是【0】。
🔴 一个负面积是怎么算出来的
数据和管它的规矩,离多远 散着放 放一起 三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。先看没封装的那一版: class Bare: """属性裸着,谁都能直接改""
把那个口子堵上
数据和管它的规矩,离多远 散着放 放一起 三个形状:长方形 3×4、正方形边长 5、三角形底 6 高 5。set_h 已经写好了,照着它补 set_w:不合格的值不许写进去。
⚠️ 三个值各试一次,看它拦不拦
数据和管它的规矩,离多远 散着放 放一起 三个宽度各试一次:8、0、-1。最后再看一眼面积——被拦下的那两次不该留下痕迹。
什么时候该用继承
该用继承的判据是【0】。