求教关于C#的问题!程序员、懂C#的请进!

在C#中:1.所谓的“委托”与“事件”是干什么用的,有什么联系?2.“接口”是干什么用的?我是计算机系软件专业学生,最近C#在面向对象这块有些吃力,请大虾帮忙指教,不胜感... 在C#中:
1 . 所谓的“委托”与“事件”是干什么用的,有什么联系?
2 . “接口”是干什么用的?
我是计算机系软件专业学生,最近C#在面向对象这块有些吃力,请大虾帮忙指教,不胜感激!
拒绝复制……可以加分!
展开
 我来答
木头种瓜子
2011-05-16 · 超过19用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:64.4万
展开全部
事件,事件就是你进行某个操作的这个过程,举个例子,你做了一个按钮控件,点击按钮就是一个事件,你可以在事件里写上你要做出的操作,比如你点击按钮打开一个新的窗口,这就是一个事件内容的定义,你可以在控件属性表里找个闪电一样的按钮,那就是控件的全部事件列表,不同控件有不同的可能发生的定义事件,像C#的windows窗体程序可以简单的来说就是一个对可能发生的事件的定义过程
委托的话你初学的话可以先不仔细看,也不怎么影响你直接做小程序,委托(delegate) :比如你写了一个方法(通俗的来讲也可以叫函数),然后你可以写一个委托来封装这个方法,比如:
public delegate void GreetingDelegate(string name);
就是你调用委托的时候其实是在调用那个方法,这样你的操作安全性就比较高了,而且以后对于多层次的开发很有帮助
接口我举个例子比较好说,
private string abc;

public string getabc()
{
return abc;
}
这里我对设置的字符串abc的属性是private,这使得我在代码的其他地方无法调用它,那我设置了一个公共的方法getabc()这个函数返回我们申明的abc字符串,这其实就是一个简单的接口,稍微通俗一点来说,接口就是你自己设置的可以对你代码中某些变量方法进行修改设置的口子,这样就保证数据的安全性
yjssk520
2011-05-16
知道答主
回答量:9
采纳率:0%
帮助的人:4.3万
展开全部
我来一个白话吧! 事件就是监听器。
一直监听用户的操作 如果用户操作正好是我们设置的事件 那么在事件里面的代码将被执行。
例:在winform中 有按钮button. 在button的单击事件中写一个对话框提示用户触动到了事件
private void button_Click( )
{
MessageBox.Show("产生了事件!");
}

委托有点复杂了:用来调用一些非委托方法的。
我用的最多得是在API上面 很多方法别人写是的非委托的代码 你就得申明一个委托去调用。
这是C#最恶心的。

接口:听名字就大概知道了嘛 用来串接代码与代码的之间的方法。
比如我有个类用来接收电脑的消息的 那么这个类就能算一个接口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lordofbai_du
2011-05-18 · TA获得超过183个赞
知道小有建树答主
回答量:378
采纳率:100%
帮助的人:269万
展开全部
尽量精简和说得通俗易懂吧,用多了自然就明白了
打个比方 委托就是定义一个函数指针集合体,事件就是以这个委托的实例化对象,往这个事件里面+=事件处理函数,
public delete void Name(参数列表); //除了关键字 很像一个定义,定义了函数指针吧。当然这里Name应该看做是一个对象。
public event Name Event; //除了关键字 很像实例化了Name对象吧

//使用,比如初始化的时候
Event+=function;//这里相当于将函数指针 function 放到了Event里面 当然还可以继续加function1等,但是function或者function1都必须是前面委托定义的形式void Name(参数列表)。

在某个地方,比如点击了按钮,在按钮click事件里面(其实这也是委托和事件调过来的)
if(Event!=null){Event(参数列表(实例化的对象));}//这一句就会调用 function和function1;

这就是委托 委托就是个委托人,比如你能喝水(函数),我也能喝水(函数),但是不知什么时候该喝。我们就委托另外一个人,当时间到的时候,另外一个人就通知我们喝水(Event()),我们就只关心喝水,而不必关心喝水时间。

P.S. 书读百遍其义自现,实在不能理解,找两本书多读几遍十几遍,慢慢读,自然就理解了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天软小卡
2011-05-17
知道答主
回答量:57
采纳率:0%
帮助的人:34.8万
展开全部
对于这些问题,面试时容易说,笔试的时候,不好写出来。做了一年开发,让去笔试还真不好回答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友186231f
2011-05-18 · 超过13用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:39.4万
展开全部
给你来个通俗的 委托就是相当于 房屋中介 是由房主不愿意 或者没时间执行 时委托给第三方执行
事件 是 当满足什么情况 从而发生的
事件常常和委托 一起使用
接口是:相当于你给 别人开通了一个 通道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
12lei23
2011-05-22 · 超过35用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:111万
展开全部
把方法作为方法的参数(理解一下),参数是要有类型的对吧,比如string,int等等,那方法的类型是什么呢,这时就要用到委托来定义方法的类型。既然委托是一种类型,那么它也可以定义像int那样定义变量名称,即委托变量,然后你可以吧方法赋值给委托变量,调用委托变量的时候就可以一次调用赋给它的方法了。说到这里,是不是类似事件的功能,是的,也许你该想到了,委托变量并不能达到我们想要的效果,封装性不好(具体找例子吧,手机打的很慢),所以事件就登场了,事件声明类似声明委托变量,只是多了一个event而已,所以事件的作用就是注册方法,像委托变量那样,只是事件的封装性更好(比如属性)。因为一个类只能继承一个基类,却可以继承几个接口,接口的功能就是让毫不相关的类也可以继承,继承后并且必须实现接口的成员变量。比如一个老师,他考得了驾驶执照,这时他是老师也是司机,这时就可以用到接口来定义司机。通过继承接口,来实现他是一个司机。写的有点乱,个人理解,希望对你有帮助,我也是正在学C#
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式