Re: [问题] 继承、界面、抽象

楼主: a07051226 (葡萄糖)   2015-04-08 00:48:34
※ 引述《jetswayss (小犬)》之铭言:
: 我也是初学JAVA 试着阐述自己的想法
: 如有错误请大家教导 ><
: 基本上分为 class 和 interface
: class在分为 abstract和 concrete
: 继承是多型的基础,多型是继承的目的
: 1.
: 而class跟interface本质上就不太一样
: interface强调的是行为
: class强调的是实体
: 2.
: concrete class和 abstract class
: 最大差别在于能不能直接被instantiated
: Animail 是一种实体 非行为 却又不能被直接实体化
: 就属于abstract class的范畴里
: Cat 是一种实体 非行为 可以被实体化
: 属于concrete class的范畴
: 而最初的问题 "抽象跟界面比较分不出差异"
: 相异点: 本质,设计概念,目的 (一个是class 一个是interface 追求的目的不相同)
: 相同点: 都有待实作之方法
: ※ 引述《pttworld (批踢踢世界)》之铭言:
: : 抽象类别可实作方法。
: : 详细请我们Java版的透"抽"版主回应吧,如果愿意讨论的话。
那我大概知道interface跟abstract的差异
以下是我的理解,有误请订正
abstract是被class extends过去,所以属继承,所以可以加新方法 ,而且必须所有方法
都实作出来
(精华区那个忘记动物叫的例子)
interface是被class implements,所以只能实作interface的方法,不能新增方法
还有一个问题
因为两者都提供方法而不实作
我看书上范例
把方法重新打过一次
那用interface去implement跟直接打与什么差异?
只是compiler会帮你检查而已?
作者: KeySabre (KeySabreur)   2015-04-08 01:13:00
去看strategy pattern感受一下

Links booklink

Contact Us: admin [ a t ] ucptt.com