请问接口一般用在什么地方呢

win7cc 2009-04-05 11:22:25
在下实在看不懂。

interface ICarnivore{
bool ISH {get;}
An Hunt();
void Eat(An victim);
}

有人给我可以给我个简单的例子吗,接口的建立跟使用的小例子
...全文
576 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjxylazycat 2009-08-27
  • 打赏
  • 举报
回复
10楼就是个白痴,自己看书还要论坛干吗?屁话一堆,以后禁止发言。
wjxylazycat 2009-08-27
  • 打赏
  • 举报
回复
1楼的也是个废物,举了半天例子,就差最后那一下子调用了,就没给出来,不怕憋死啊?要不就是理解能力太差。
wjxylazycat 2009-08-27
  • 打赏
  • 举报
回复
17楼的同志例子举得好!
其它楼层的同志不知道是真的明白楼主的意思还是自己也不懂接口,回答的肯定不能让人明白,以后类似的答案不要再给了,歇着吧您的!
win7cc 2009-04-09
  • 打赏
  • 举报
回复
非常感谢各位的回答
oyzz1988 2009-04-06
  • 打赏
  • 举报
回复
接口是对继承单根性的扩展,单继承不能满足你的功能或者需求时
你可以使用接口实现某需求或功能
接口的应用很广
十八道胡同 2009-04-06
  • 打赏
  • 举报
回复
接口就是定义一些东西,继承他的类要全部实现。
ljun80 2009-04-06
  • 打赏
  • 举报
回复 1
[Quote=引用 18 楼 xuyiazl 的回复:]
讲那么多都不让别人理解...


1.接口只是一种契约.
2.属性,方法,事件,索引.
3.可遇见性,延后实现.

常用的人是架构师.为什么?因为在项目架构当中,往往知道某个功能,但具体实现却是未知.毕竟具体的东西,得留在项目实施中才会发现.

比如:吃饭.
那么你只知道吃饭.但是具体的去哪吃饭,怎么去,吃西餐或者中餐,午饭或者是晚饭你却不能确定.一系列的情况发生.你仅仅知道一个吃饭.所以我们该定义接口作为一种规范.一种契…
[/Quote]

精辟!
lee0822 2009-04-06
  • 打赏
  • 举报
回复
是不是跟C++的虚函数类似。实现多态性
fangyuan303687320 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 LCL_data 的回复:]
接口就是定义一些东西,继承他的类要全部实现。
[/Quote]
同意。
接口只定义方法,不实现,
可以由很多个类来继承并实现,
deng520159 2009-04-06
  • 打赏
  • 举报
回复
一般来说设计业务的类时,可能要设计一此接口,方便类对此继承,再者.net framework提供一些他定义的接口,写一些类时可能要用,
qingye2008 2009-04-06
  • 打赏
  • 举报
回复
糊里糊涂...
看了一下believeken 大哥盖的楼,恍然大悟.....
柳晛 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 xuyiazl 的回复:]

1.接口只是一种契约.
[/Quote]

只顶这一句,本来想说,但已经有人说了。
wartim 2009-04-06
  • 打赏
  • 举报
回复
接口是什么ls很多人都说到了,提供一个通用的定义和规范、一个抽象的逻辑层、可以先写使用代码后写实现代码。
然后接口还有一个意义就是强制继承某接口的类必须要实现该接口中定义的方法,否则编译其会警告和编译失败,
单独或多人合作时很有用,项目大了,继承多了,某个类里自己很可能就忘了实现某个必要的方法,也可以约束别人必须实现它
xuyiazl 2009-04-06
  • 打赏
  • 举报
回复
讲那么多都不让别人理解...


1.接口只是一种契约.
2.属性,方法,事件,索引.
3.可遇见性,延后实现.

常用的人是架构师.为什么?因为在项目架构当中,往往知道某个功能,但具体实现却是未知.毕竟具体的东西,得留在项目实施中才会发现.

比如:吃饭.
那么你只知道吃饭.但是具体的去哪吃饭,怎么去,吃西餐或者中餐,午饭或者是晚饭你却不能确定.一系列的情况发生.你仅仅知道一个吃饭.所以我们该定义接口作为一种规范.一种契约.来约束一系列的动作.
believeken 2009-04-06
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

namespace AppTest
{
class Demo_interface
{
static void Main(string[] args)
{
//使用(注意,这里是使用接口 IPrint,下面是不同的实例,获得不同功能)
IPrint I;
I = new A(); //实例化 A,将打印出 A
I.Print();
I = new B(); //实例化 B,将打印出 B
I.Print();
Thread.Sleep(3 * 1000); //暂停3秒,看打印结果
}
}

//定义接口,定义后不需要改变,需要不同功能,继承时扩展即可
interface IPrint
{
//接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;
//支持多继承;可以用于支持回调;可以作用于值类型和引用类型;C#中不能包含任何静态成员
//不能被直接实例化,可以通过继承实现其抽象方法。

void Print();//只定义,不实现

//IPerson(); //错误
//string name; //错误
//public void GetIDcard(); //错误
//void GetName(); //正确
//void GetAge(string s); //正确
//int GetHeight(); //正确

}

//A 继承接口
class A : IPrint
{
//实现接口方法,必须有,
//当然还可以再添加其它的字段、属性、方法
public void Print()
{
System.Console.WriteLine("A");
}
}

//B 继承接口
class B : IPrint
{
public void Print()
{
System.Console.WriteLine("B");
}
}
}


//在这个例子中,IPrint 接口中定义了Print方法,但没有实现方法体.
//类A和类B都继承了IPrint接口,并且实现了不同的Print方法.
//在Main 中调用A\B,获得不同的打印结果
修改一下昵称 2009-04-05
  • 打赏
  • 举报
回复
这个类实现了IAnimalBehavior 这个接口啊
就有这个接口的所有功能啊。
win7cc 2009-04-05
  • 打赏
  • 举报
回复
class Animal:IAnimalBehavior
{
private int AnimalAge;
public int age
{
get{ return AnimalAge;}
set {AnimalAge=value;}
}
public void Move()
{
Console.WriteLine(“这个动物它会动!");
}
public string Eat(string food)
{
    return “这个动物吃”+food;
}
}


-----------------
这个接口在C#中,应该如何使用它呢。
jiyan1221 2009-04-05
  • 打赏
  • 举报
回复
找个工厂模式的或者随便一个什么模式的例子看一下,那个应该思路会比较清晰~~
修改一下昵称 2009-04-05
  • 打赏
  • 举报
回复
是的,哪个对象实现这个接口,就要实现这个接口里面的全部属性和方法等 。。
  • 打赏
  • 举报
回复
//对接口中的全部成员都要给予实现
加载更多回复(8)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧