| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4243 人关注过本帖
标题:[讨论]接口,回贴就给分
取消只看楼主 加入收藏
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
 问题点数:0 回复次数:18 
[讨论]接口,回贴就给分
一个接口声明一个只有抽象成员的引用类型。跟C++中相似的概念为:一个结构的成员,且方法等于0。如果你不知道那些概念的任何东西,这里就是在C#中一个接口实际所做的。仅仅只存在着方法标志,但根本就没有执行代码。这就暗示了不能实例化一个接口,只能实例化一个派生自该接口的对象。 可以在一个接口中定义方法、属性和索引。所以,对比一个类,接口有什么特殊性呢?当定义一个类时,可以派生自多重接口,而你只能可以从仅有的一个类派生。 你可能会问:"OK,但我必须实现所有的接口成员,那么我能从这个途径得到什么呢?" 我想举一个来自.NET的例子:很多类实现了IDictionary 接口。你可以使用简单的类型转换访问接口: IDictionary myDict = (IDictionary)someobjectthatsupportsit; 现在你的代码可以访问字典了。可等等,我说很多类可以实现这个接口——所以,你可以在多个地方重用代码来访问IDictionary 接口!一旦学会,任何地方都可使用。 当你决定在类设计中使用接口时,学习更多关于面向对象的设计是个好主意。这本书不能教你这些概念,但你可以学习如何创建接口。以下的代码段定义接口IFace,它只有一个方法: interface IFace { void ShowMyFace(); } 正如我所提到的,不能从这个定义实例化一个对象,但可以从它派生一个类。因此,该类必须实现ShowMyFace抽象方法: class CFace:IFace { public void ShowMyFace() { Console.WriteLine("implementation"); } } 接口成员和类成员的区别在于,接口成员不能被实现。因此,我不想在下一章中再次提到这一点。 关于上面一段话,有什么独特的理解,或者有问题,或者回答问题者,都可获得送分,灌水得1分。
搜索更多相关主题的帖子: 接口 
2005-04-08 14:39
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
没有你自己的理解 就当灌水啦

2005-04-08 14:55
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
你只是简单的复制了一句啊
你说说
你那句和我上面那一段话中那句有什么联系
我就给你++++分

2005-04-08 15:04
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用yushengou在2005-4-8 14:49:49的发言: “接口是一种内置的机制,可以通过它们很容易地定义任意数量的行为,然后让任意数量的类以任意组合实现这些行为,而根本不必考虑类层次结构。” 这句话怎么样啊
这句话的意思是不是 一个接口可以派生好多类,这些类之间可以通过这个接口进行访问。与类的内部构造等无关?

2005-04-08 15:15
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用yushengou在2005-4-8 15:05:21的发言: 接口怎么在应用中用起来呢。 没有突破口,没有概念。不知道怎么用。 用了这个接口有什么好处啊
interface IFace { void ShowMyFace(); } 正如我所提到的,不能从这个定义实例化一个对象,但可以从它派生一个类。因此,该类必须实现ShowMyFace抽象方法: class CFace:IFace { public void ShowMyFace() { Console.WriteLine("implementation"); } } 这就是个应用的例子啊

2005-04-08 15:17
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用yushengou在2005-4-8 15:18:48的发言: interface IFace // 定义一个接口 { void ShowMyFace(); //返回一个私有的接口函数??? //void 是表示不返回值, 这里是定义接口的一个方法 } class CFace:IFace //继承接口,这里应该叫做从接口派生一个类 { public void ShowMyFace() //返回一个公共的接口函数???类实现ShowMyFace抽象方法 { Console.WriteLine("implementation"); } } 幻幻帮偶改改

2005-04-08 15:24
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
行为应该是 类之间的访问 等活动

2005-04-08 15:28
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用yushengou在2005-4-8 15:28:18的发言: 幻幻你一次性给我100分算了。一条一条来多麻烦啊。
不行啊 我说过回贴都给 给完为止啊 给别人也留点

2005-04-08 15:30
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
14楼和15给反了,幸亏是一个人,哈哈

[此贴子已经被作者于2005-4-8 15:33:38编辑过]



2005-04-08 15:32
幻风幻云
Rank: 1
等 级:新手上路
帖 子:762
专家分:0
注 册:2005-1-14
收藏
得分:0 
以下是引用yushengou在2005-4-8 15:37:26的发言: 那么那句话的意思应该是: 接口是类访问行为的一个入口。就好比每个行为都有一个入口, 有了这个入口,类可以很容易得找到这个入口去访问这个行为。 你说这样理解行不我很怕羞
嗯 我觉得对

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



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

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