首页 新闻 会员 周边 捐助

關于封裝的三個問號?

0
悬赏园豆:5 [已解决问题] 解决于 2008-07-12 07:42
<P>1.對象是對類的封裝?</P> <P>2.委托是對函數的封裝?</P> <P>3.事件是對委托的封裝?</P> <P>&nbsp;封裝的究竟是什么? 多謝?</P>
landylee的主页 landylee | 初学一级 | 园豆:175
提问于:2008-06-30 21:12
< >
分享
最佳答案
0
封装是什么? 封装就是包装,只让你看到包装盒,不让你看到盒子里面的秘密. 类,就是类别,比如"老师",对象,就是实体,比如"范美忠老师".它们的关系是抽象概念与具体实例,与"封装"没有任何关系. 第三个命题,在某种程度上,可以认那是对的.虽然箱子很薄很暴露,但毕竟在外边加了一层膜(通常称为"语法糖).但是,这里的封装只是指"包装"而已,和OO术语里的封装不是一个意思,后者是有所专指的(就是把数据和处理这些数据的代码放到一起,然后只向外界提供必要的接口,也就是"类"的概念). 至于第二个,这个连糖都算不上,只是语法规定而已.像你的一个函数需要1,2,3,这样的整数作参数,你会用int这个类型来表示它;而如果需要一段可以执行的代码作参数,就需要用代理来表示.delegate和int是一样的,只是一个类型.
deerchao | 大侠五级 |园豆:8367 | 2008-06-30 22:13
其他回答(1)
0
封装是什么? 封装就是包装,只让你看到包装盒,不让你看到盒子里面的秘密. 这句话很经典呀。 类的封装,封装的是类的内部数据,和结构;外部的类只能通过暴露出来的方法,属性来访问内部的数据。 后两种委托对方法的封装,事件是对委托的封装; 这个似乎算不上什么封装只能说是不直接操作函数指针的一种c#实现。
玉开 | 园豆:8822 (大侠五级) | 2008-07-01 10:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册