| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4239 人关注过本帖
标题:[讨论]接口,回贴就给分
只看楼主 加入收藏
━╋网情深★
Rank: 1
等 级:新手上路
帖 子:187
专家分:0
注 册:2005-3-18
收藏
得分:0 
以下是引用shiuly在2005-4-8 20:31:57的发言: 初学C#,不懂什麽是接口。誰能告訴我? 他跟類有什麽區別哦
接口是实现类里面的方法,如果你的方法是私有的那么在别的类里面就不能调用,只有通过接口来实现

[glow=255,red,2] ╭︿︿☆╮ ╭︿︿︿╮ {/ . .\\}oοО缘份使… {/. . \\} ( (oo) ) …我们相识Оοo( (oo) ) ︶︶︶︶….距离总是太远 …︶︶︶︶oοО相处总是太难Оοo伤心伤神不如失去记忆 [/glow]
2005-04-15 02:42
fokin
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2005-3-25
收藏
得分:0 
接口中可以包括方法,属性,索引器,事件
接口不提供接口成员的实现
可以用类来实现接口。在类中定位接口成员的实现称之为接口映射。类必须为接口的所有成员提供具体的实现,包括接口中显式定义的成员,以及接口从父接口中继承而来的成员。同样,在对接口的实现过程中可以采用显式接口成员执行体来避免产生二义性。
  派生类可以对基类已经实现的接口进行重实现。
  抽象类也可以实现接口,但接口成员必须映射到抽象类的抽象成员。抽象类的派生类如果是非抽象类,则必须通过方法重载来实现接口成员。个人观点 仅供参考

我不是高手,我只是新手~!!
2005-04-15 15:56
tianhe
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2005-3-17
收藏
得分:0 
shiuly你好,我也是初学者。 在某种程度上,接口很像抽象类。它也可以定义方法,属性,索引和事件。 但是接口不提供成员的实现,继承接口的类必须提供接口成员的实现。接口仅仅是一种方法标志,没有执行代码,所以不能实例化。要实例化只能用派生自接口的对象。 在某些场合,程序需要为许多彼此无关的对象类型提供特定功能,此时比较适合用接口。 比如:方形,圆形,三角形 可以派生自一个抽象类:形状,因为它们有许多共同点。 但如果是:人,树,房屋 你怎么去找共同点,所以 就用接口。它比类更灵活。 另外子类只能继承自一个基类,但接口却可以继承自多个接口。 必须注意接口的实现必须精确的按照此接口的定义来实现接口的各个方面。 如果你开始试着开发一个软件时,你就会明白通过添加接口来升级系统的功能是多么方便。

-------------------------------------------- 朴素,清醒
2005-04-15 16:12
fuyu888
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-4-14
收藏
得分:0 
接口本来是抽象的,打个比喻就象你到了一家饭店,别人要拿菜单给你看,这个菜单就是接口,接口的存在价值就在于可以在类中实现,在实现这个过程分几步
1.无缝对接   2功能映射  3访问
          public interface Iin{void doing();           void doelse();                        }
          public class c:Iin//这一步是对接
     {         public viod doing(){}//隐式映射
               void Iin.doelse(){}//显式映射                                            }
比如现在我们要实现这两个方法
           c mc=new c();mc.doing();//隐式访问   mc.doelse();//错误
         也可以这样:
c  mc=new c();
Iin in=mc;
in.doing();//显式访问隐式映射
但是对于显式映射,就只能显式访问 in.doelse();

------此人由于过于英俊,头像正面被系统永远封印----
2005-04-15 17:29
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
43楼的怎么有乱码阿

有空来改改吧

2005-04-15 22:41
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用fuyu888在2005-4-15 17:29:17的发言: 接口本来是抽象的,打个比喻就象你到了一家饭店,别人要拿菜单给你看,这个菜单就是接口,接口的存在价值就在于可以在类中实现,在实现这个过程分几步 1.无缝对接 2功能映射 3访问 public interface Iin{void doing(); void doelse(); } public class c:Iin//这一步是对接 { public viod doing(){}//隐式映射 void Iin.doelse(){}//显式映射 } 比如现在我们要实现这两个方法 c mc=new c();mc.doing();//隐式访问 mc.doelse();//错误 也可以这样: c mc=new c(); Iin in=mc; in.doing();//显式访问隐式映射 但是对于显式映射,就只能显式访问 in.doelse();
mc.doing();//隐式访问 mc.doelse();//错误 为什么一个错,一个对阿 2个 的区别在哪里?

2005-04-15 22:54
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 


我机子乱码阿

2005-04-15 22:59
fuyu888
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-4-14
收藏
得分:0 
public viod doing(){}//隐式映射 void Iin.doelse(){}//显式映射 区别在这里 是通过Iin来映射的,也就是通过借接口有表现的映射的,就不能直接实例类来完成访问,要 通过接口,把实例的类分配给接口

------此人由于过于英俊,头像正面被系统永远封印----
2005-04-16 00:30
huazi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-4-16
收藏
得分:0 
我是初学者,希望大家能多多帮助我
好好学习,天天向上^_^
2005-04-16 09:46
goodgoodstudy
Rank: 2
等 级:新手上路
威 望:3
帖 子:111
专家分:0
注 册:2005-4-6
收藏
得分:0 
接口有点像抽象类,所以它是可以被继承的,所以要实现一个接口,
必须有要类继承该接口,
接口的实现类可以是派生类,
并且这些派生类可以包括一些自己特有的类成员。

2005-04-16 11:21
快速回复:[讨论]接口,回贴就给分
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013001 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved