作者JustinHere (良葛格)
看板java
标题Re: [问题] is-a的意义
时间Fri May 4 11:46:27 2018
※ 引述《lueichun (no anonymous)》之铭言:
: 在讲解继承语法的文章内
: 都会讲到子类别复制了父类别的内容
: 然後子类别又能去override从父类别复制过来的东西 并新增父类别没有的东西
: 然後子类别就is-a父类别
: 但我不懂的是
: 既然子类别复制父类别的东西 会去修改它
: 然後又会增加新的 专属於自己的东西
: 那为什麽还可以说子类别is-a父类别
: 说子类别包含(include)父类别不是比较合理?
: 介绍相关议题的文章 通常是直接举例说明
: 例如父类别是动物 子类别是猫 狗
: 但总觉得用这样的例子来说明 有种以偏概全的FU
: 不知道有没有更general的解释?
https://www.slideshare.net/JustinSDK/java-se-7-16580919
https://www.slideshare.net/JustinSDK/java-se-7-16580938
https://www.slideshare.net/JustinSDK/java-se-7-16580955
你提过的如果跑车继承狗,跑车 is a 狗不合理,编译上确实可以过,
然而,是不合理的继承,这是语意的问题,不是语法的问题,硬是要
撰写程式有这样不合理的语意,就是滥用继承的概念。
这部份在第三个链结中有讨论到…
合法的程式并不一定是合理的程式。
--
良葛格学习笔记
http://openhome.cc
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.10.35.125
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1525405592.A.C37.html
※ 编辑: JustinHere (39.10.35.125), 05/04/2018 11:50:12
1F:推 lueichun: 感谢良葛格大大拨冗指导小弟 那我想再请问 虽然JAVA没有 05/04 13:39
2F:→ lueichun: 多重继承的观念 但如果有的话 比方说C继承A B两个类别 05/04 13:41
3F:→ lueichun: 那可以说C is a A、C is also a B吗 05/04 13:42
4F:→ JustinHere: 同样地,语法上可以,但语意上要留意合不合理 05/04 14:04
5F:→ JustinHere: 比方说,海陆两用车,继承车也继承船的话 05/04 14:06
6F:→ JustinHere: 它 is a 车,它也 is a 船,这算合理 05/04 14:06
7F:→ JustinHere: 跑车继承车也继承狗的话,语法上就算行得通 05/04 14:07
8F:→ JustinHere: 语意上就不合理,如果只是为了重用程式码,那就是滥用 05/04 14:08
9F:推 lueichun: 了解了 谢谢 05/04 14:09
10F:推 weapon0427: Java多重继承是用interface 05/04 19:49
11F:推 evo1994: 推良葛格~~~ 05/05 01:52