Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
12
返回列表 发新帖
楼主: my_world
打印 上一主题 下一主题

interface的不解

[复制链接]

13

主题

0

好友

2113

积分

白金长老

Rank: 10

11#
发表于 2010-6-24 02:18 AM |只看该作者
你可以做game 咯
几时开发一个??


回复

使用道具 举报

46

主题

6

好友

6456

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

12#
发表于 2010-6-24 06:30 AM |只看该作者
回复 11# goodday

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

我没这个本事啦。

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


Final Year , Final Year 越做越火大(抱怨)。


回复

使用道具 举报

5

主题

0

好友

59

积分

中级会员

Rank: 2Rank: 2

13#
发表于 2010-6-24 10:55 AM |只看该作者
回复 7# 宅男-兜着走


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

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

  2 )如果在这里只有magician有用到summon,其他的都不会用到的话,就不需再用Isummon的interface了,对吗?
     我就直接在magician里defined summon的method就行了。可以这样说吗?


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

14#
发表于 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.


回复

使用道具 举报

5

主题

0

好友

59

积分

中级会员

Rank: 2Rank: 2

15#
发表于 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咯~
    可以这么说吗?


回复

使用道具 举报

31

主题

0

好友

1228

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

16#
发表于 2010-6-24 07:50 PM |只看该作者
interface 本身是没有功能的,
他可以算是一个架构, 或是用来标记 (例如 implements Serialization).

与其在这边说那么多理论, 最好的了解方法还是自己去 code 一番.


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

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

GMT+8, 2024-10-26 12:31 AM , Processed in 0.100573 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部