面向对象是怎样工作的(第3版)
上QQ阅读APP看书,第一时间看更新

第二个原因是使用比喻进行讲解容易引起混乱。比喻引起的混乱与其说是技术本身的问题,不如说是讲解方法的问题。OOP 结构经常被比作现实世界,像下面这样进行讲解(图1-3)。

“动物是超类,哺乳类和鱼类是子类。既产卵又用乳汁哺乳幼仔的鸭嘴兽也就相当于爬虫类和哺乳类的多重继承。”

“人具有‘出生年月日’的属性。如果给小王这样具体的一个人发出‘请告诉我你的年龄’的消息,就会得到‘28 岁’的回答。”

“正如医院里的医生、护士和药剂师互相联系、协同工作一样,对象也是通过在计算机中互相发送消息来进行工作的。”

{%}

图1-3 对各种比喻感到混乱的开发者

这样的讲解会让人感到 OOP 结构很复杂,但是,如果只进行这样的讲解,那么就只有比喻能给人留下深刻的印象,而 OOP 在实际编程中的便利性就难以传达了。