为了账号安全,请及时绑定邮箱和手机立即绑定

關于封裝的三個問號?

關于封裝的三個問號?

明月笑刀无情 2018-12-12 22:06:49
<P>1.對象是對類的封裝?</P> <P>2.委托是對函數的封裝?</P> <P>3.事件是對委托的封裝?</P> <P>&nbsp;封裝的究竟是什么? 多謝?</P>
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

封装是什么? 封装就是包装,只让你看到包装盒,不让你看到盒子里面的秘密. 类,就是类别,比如"老师",对象,就是实体,比如"范美忠老师".它们的关系是抽象概念与具体实例,与"封装"没有任何关系. 第三个命题,在某种程度上,可以认那是对的.虽然箱子很薄很暴露,但毕竟在外边加了一层膜(通常称为"语法糖).但是,这里的封装只是指"包装"而已,和OO术语里的封装不是一个意思,后者是有所专指的(就是把数据和处理这些数据的代码放到一起,然后只向外界提供必要的接口,也就是"类"的概念). 至于第二个,这个连糖都算不上,只是语法规定而已.像你的一个函数需要1,2,3,这样的整数作参数,你会用int这个类型来表示它;而如果需要一段可以执行的代码作参数,就需要用代理来表示.delegate和int是一样的,只是一个类型.

查看完整回答
反对 回复 2018-12-16
?
倚天杖

TA贡献1828条经验 获得超3个赞

封装是什么? 封装就是包装,只让你看到包装盒,不让你看到盒子里面的秘密. 这句话很经典呀。 类的封装,封装的是类的内部数据,和结构;外部的类只能通过暴露出来的方法,属性来访问内部的数据。 后两种委托对方法的封装,事件是对委托的封装; 这个似乎算不上什么封装只能说是不直接操作函数指针的一种c#实现。

查看完整回答
反对 回复 2018-12-16
  • 2 回答
  • 0 关注
  • 591 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信