c#类里面的接口是什么意思

比如下面这个类publicclassCategory{publicCategory(){}privatestaticreadonlyICategorydal=DataAc... 比如下面这个类
public class Category{
public Category()
{
}
private static readonly ICategory dal = DataAccess.CreateCategory();
public IList<CategoryInfo> GetCategories()
{
return dal.GetCategories();
}
}
里面就有dal和GetCategories()两个接口成员,实在不理解这种格式,都不是类的基本属性、字段、方法
还有顺便问下哪里可以学习到工厂模式方面的内容
展开
 我来答
然后去远足
2014-07-26 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2423万
展开全部
接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容。(引自 MSDN)

接口成员包括方法、属性、索引指示器和事件。

所谓“只包含成员定义,不包含成员的实现内容”,是指只有成员的名字,至于这个成员要干嘛,那不是接口要写。

比如存在一个接口“动物”,里面有一个接口方法“吃饭”,那么就只有“吃饭”这个方法的名字,至于方法是怎么实现的,那不是接口要考虑的,而是类要考虑的。接着又来了两个类,“人”和“狗”,他俩都继承了“动物”这个接口,人和狗的吃饭方法肯定是不一样的,所以就分别实现了各自的“吃饭”方法。

如果没有接口只有类,那么“动物”这个类的“吃饭”方法该怎么写?继承它的子类吃饭的方式肯定不都一样,怎么写?
更多追问追答
追问
写得很详细,不过你说的都是解释接口的,我是想问这种类里面的接口是怎么回事
追答
 private static readonly ICategory dal = DataAccess.CreateCategory();

这就是定义了一个私有的、静态的、只读的 ICategory 类型的的变量,名字叫 dal。

 

这和

int a;

定义了一个 int 类型的变量,名字叫 a。没有区别。

 

只不过 ICategory 类型是一个接口类型罢了。

风光历历长天4126
2014-07-26 · TA获得超过126个赞
知道答主
回答量:122
采纳率:0%
帮助的人:130万
展开全部
就是当这个类现实这个接口的时候命名最好要成对
一般命名是这样的接口以I为前缀
如IStudent.cs
而实现这个接口的类的命名可以不加前缀,Student.cs 就行了,
如果在三层架构里面,在企业中常用的命名规范是以Impt作为后缀
如StudentImpt.cs
当然,这些命名只是为了更容易分辨每个类分别实现哪些接口的,并不是硬性的规则;

简单的说,接口只是提供一个功能,具体的实现要在与之相对应的类里面实现,就像开关一样,那些按钮只是提供一个功能,我们只知道按下这个按钮可以开关电源,但具体电源是怎么连接上的,就由里面的电路来实现了
那个按钮就是一个接口,里面的电路可以理解成实现这个接口的开关功能的具体方法的一个类

说得有些混乱,见谅哈
请采纳。
追问
我想问的是比如GetCategories()这种类里面的接口方法是怎么理解,比如dal这种接口字段是怎么理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式