Re: [问题] 程式设计观念

楼主: Peruheru (还在想)   2015-07-17 09:18:38
※ 引述《firebow (台中苏志燮)》之铭言:
: 小弟程式新手
: 今天在youtube看到c#英文教学
: 看到他写了一个接口A
: 里面有宣告属性
: 然后类别B继承(? 接口A
: 里面有私有字段
: 透过继承接口A的属性来访问私有字段
: 请问这样跟类别B不继承接口A
: 自己宣告两个属性访问私有字段
: 两个差别在哪?
: 谢谢!
印象中
接口的用处是让继承他的人外表看起来都会差不多
这样之后只要使用接口来宣告变量,就可以动态决定要使用哪一个实作的内容
如果你类别B之后都只会直接使用类别B来宣告他
那接口的作用就只是限制他的外型而已,就像你说得没有作用
但如果还有另外一个实作接口A的类别C存在
之后如果宣告接口A的变量甲
甲就可以接受类别C或类别B的宣告,并且使用其共用方法
假设我设定一个接口叫做 飞行物
飞行物有三个行为,起飞、飞行、降落
有两个属性,飞行速度与燃料
类别B是飞机,继承飞行物接口
他得要实作飞行物的三个行为,使用飞机的方式来达成起飞、飞行与降落
起飞是开启引擎并滑行升空,飞行是持续燃烧燃料并控制方向舵
降落是瞄准跑道降低高度伸出机轮并使用逆向喷射
飞行速度达到0.84马赫,飞行燃料是汽油
类别C是老鹰,继承飞行物接口
使用老鹰的方式实作三个飞行物行为
起飞是用力拍动翅膀,可能配合踢树枝起飞
飞行是配合气流摆动翅膀飞行,大多时候是在滑翔
降落是瞄准树枝,伸出脚爪抓住树枝并收起翅膀
飞行速度达150公里,飞行燃料是兔子,老鼠或小型鸟类
只要宣告飞行物接口,就可以之后再动态决定要飞的是飞机还是老鹰
反正都一样给燃料后叫他们起飞,飞行一段时间后降落,只是速度有差
如果你从头到尾只有要作飞机一种类别
那你不使用接口的确是没差,反正你自己决定好起飞飞行降落方式之类的就好
这是我的理解啦,不知道有没有错
作者: firebow (台中苏志燮)   2015-07-18 00:07:00
原来如此~~谢谢你!!
作者: kevintsengtw (mrkt)   2015-07-18 08:17:00
接口→共同的行为
作者: YahooTaiwan (超可爱南西我老婆)   2015-07-18 17:27:00
最近深深体会到,要写大型程式,接口一定要切够细,越细越好就本文来说,除了飞行物接口以外,甚至可以切出 1.可起飞的 2. 可飞行的 3. 可降落的

Links booklink

Contact Us: admin [ a t ] ucptt.com