|登录 |注册

12
返回列表 发新帖
楼主: my_world
打印 上一主题 下一主题

interface的不解

[复制链接]
goodday
2010-6-24 02:18 AM
你可以做game 咯
几时开发一个??
宅男-兜着走
2010-6-24 06:30 AM
回复 11# goodday

之前做过的 Flash Game 功课算吗?

我没这个本事啦。

反而OO的原理要应用在现实上真的很难。


Final Year , Final Year 越做越火大(抱怨)。
my_world
2010-6-24 10:55 AM
回复 7# 宅男-兜着走


    好棒的解释!!!
  
  我想问的是,

  1 )如果worrior和archer有另一个特别招式"Heal",那我就再增加一个IHeal的interface。可以这样说吗?

  2 )如果在这里只有magician有用到summon,其他的都不会用到的话,就不需再用Isummon的interface了,对吗?
     我就直接在magician里defined summon的method就行了。可以这样说吗?
~Zero
2010-6-24 12:04 PM
差不多对了, 但又有一点不对.
其实只要参考 wikipedia, 那边有另外一种例子, 也不是很难了解的.

其中一个 interface 很大的好处, 就是通过 interface, 可以作出 multiple inheritance 的功能.
一个 coding 技巧, 不一定只有一种用途的.

我看看上面那个 abstract class, 然后 override, 然后用个别的 skill (summon, heal) 来 interface, 有点太滥用 interface 了. 不过如果 code 得出来, 也是可行的. 只是可能会比较难 maintain.

interface 对我来说, 好处就是. 只要我确保全部都有 implement 同一个 interface,
我在当中要用到的时候, 可以不需要管那个是什么 class.

例如, 系统里面, 我不需要
if A is warrior, A.cut.
else if A is archer, A.shoot.
else if A is magician, A.cast

我可以直接 A.Attack.
my_world
2010-6-24 03:56 PM
本帖最后由 my_world 于 2010-6-24 04:00 PM 编辑

回复 14# ~Zero


    如果说多一个class叫 "Assasin",也是implement - ISummon.
    那照这么说

  我declare了1个magician - Magic1;
    和1个Assasin - Assasin1;
    所以Magic1的可以用到Assasin1的summon咯~
    可以这么说吗?
~Zero
2010-6-24 07:50 PM
interface 本身是没有功能的,
他可以算是一个架构, 或是用来标记 (例如 implements Serialization).

与其在这边说那么多理论, 最好的了解方法还是自己去 code 一番.
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-11 12:20 AM , Processed in 0.116768 second(s), 20 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部