🧩 第一章 面向对象:让软件开发变轻松的技术
📄 一句话概括

本书的取舍很明确:What 讲透、Why 讲透、How 只给最小限度——因为 How 会过时,What 和 Why 不会。

📝 本节和前面几节的关系

1.4~1.7 讲完了三个难处,这一节说作者打算怎么破。

一、三列的分工

What——这东西是什么。给你一个能说出口的定义。 Why——为什么需要它。没有它之前,人们卡在哪。 How——怎么写。只给一句最小可行的写法。 本书把前两列讲透,第三列点到为止。这是刻意的取舍,不是偷懒。

二、为什么 How 可以少讲

How 会过时。2005 年写 Java 的写法,2026 年有一半不适用了。 What 和 Why 不会过时。多态为什么存在,三十年前和今天一样。 而且 How 有更好的来源:语言手册、框架文档、IDE 提示——查一下就有,还比书新。 书的价值在【没人能替你查】的那部分。

三、这对读者的要求

读的时候要主动问:这段在讲 What、Why 还是 How? 看到 How 只有一句话,别嫌少——那是留给你自己去查的接口。 看到 Why 讲了三段,别嫌啰嗦——那才是这本书真正要给的东西。

四、一个提醒

只读这本书学不会写代码。它不讲语法细节。 但也别指望手册能告诉你该不该用某个技术——手册只讲怎么用。 两样都要:书给判断力,手册给操作。

五、动手 Demo:重点讲解【是什么】和【为什么】

拿五个核心概念做一次试验:每个都写 What、Why、How 三句,然后数字数。 看三列的分量差多少。

rows = [
    ("封装", "数据和方法装进一个盒子", "防止别人绕过规则改数据", "private 字段"),
    ("多态", "同一调用,落到不同实现", "调用方不必知道是哪个类", "父类引用指子类"),
    ("继承", "子类自动拥有父类成员", "共同点只写一遍", "extends"),
    ("框架", "应用程序的半成品", "不必从零搭骨架", "继承基类"),
    ("设计模式", "被验证过的类摆放方式", "不必重新发明", "照模式写"),
]
for i, name in ((1, "What"), (2, "Why"), (3, "How")):
    n = sum(len(r[i]) for r in rows)
    print(name, n, "字")

实跑输出:

--------------------------------------------------------------------
重点讲解【是什么】和【为什么】
--------------------------------------------------------------------

  本书的写法很明确:**What 讲透,Why 讲透,How 只给最小限度。**
  为什么?因为 How 会过时,What 和 Why 不会。

  概念         What                       Why                        How(简)
  ----------------------------------------------------------------------------------
  封装         数据和方法装进一个盒子     防止别人绕过规则改数据     private 字段
  多态         同一调用,落到不同实现     调用方不必知道是哪个类     父类引用指子类
  继承         子类自动拥有父类成员       共同点只写一遍             extends
  框架         应用程序的半成品           不必从零搭骨架             继承基类
  设计模式     被验证过的类摆放方式       不必重新发明               照模式写

  三列     总字数     占比
  -------------------------
  What     50         40%
  Why      42         34%
  How      32         26%

  上面这张表是我自己写的,**How 那一列被压到最短——这正是本书的取舍。**
  想学 How,去看语言手册和框架文档;
  **想知道【这东西为什么存在、什么时候该用】,才是这本书要给你的。**

实测:What 50 字、Why 42 字、How 32 字——How 被压到最短。 这正是本书的取舍:想知道怎么用,去看手册;想知道为什么用,才读这本。

30 秒实验

  1. 用 What/Why/How 三句话解释一个你熟悉的术语,看看哪一句最难写。
  2. 翻一本语言手册,找找它讲不讲 Why。

常见误区

  1. 嫌 How 讲得少。那是留给你自己查的接口。
  2. 以为读完就会写。这本书给判断力,不给操作手册。
自测三问(点开对答案) 1. 本书对 What、Why、How 的取舍是什么? —— What 讲透、Why 讲透、How 只给最小限度的一句。 2. 为什么 How 可以少讲? —— How 会过时,且有更好的来源(语言手册、框架文档、IDE 提示),书的价值在没人能替你查的部分。 3. 只读这本书能学会写代码吗? —— 不能,它不讲语法细节;但手册也只讲怎么用、不讲该不该用,两样都要。

相关笔记