读你必须知道的.net有感--对象旅行(1)
2008-09-05 21:09
267 查看
《对象和人,俩个世界,一样情怀》--对象旅行(1)
--体验继承之行(访问权限)
在我们人类社会中,继承一般发生在有血缘关系的族群中。例如:你和你Father,你继承你父亲,包括姓氏、基因、财
产、和一切可以遗留的东西。但并不代表可以继承你老爹的一切,因为你老爹有一部分属于你老爹独有,不可继承。当然你
也可以继承族群的其他的人,视实情而定。而在面向对象的世界中:“一切皆与继承、继承无处不在.”那么它们之间是通过什
么来实现不同的控制规则呢?那就是传说中的:访问权限。俗称:访问级别,如图1-1所示:
![](http://images.cnblogs.com/cnblogs_com/wangcy85978123/153502/r_%e8%ae%bf%e9%97%ae%e7%ba%a7%e5%88%ab.GIF)
这些规则可以以公司的体制来举例说明,将公司职权的层级于面向对象的访问权限层级做类比,应该是这样:
- Public 类似于公司的董事会具有最高的决策权和管理权(具有最高的访问权限),因此Public开放性最大,不管是否同
一程序集或者不管是否继承,都可以访问。
- Protected 类似于公司业务部门经理,具有对本部门的直接管辖权,在面向对象中体现为子从父的一种纵向访问约定,
必须是继承了该类、则其对象就具有访问父类的权限、而不管是否在同一程序集中。
- Internal 类似于公司的人力资源部都可以管辖所有其他部门的员工考勤(而不管是否具有上下级的隶属关系),这是一
种横向的职责关系、在面向对象中用来表示同一程序集的访问权限,只要是隶属于同一程序集,对象即可访问其属性,而不
管是否存在隶属关系。
- Protected Internal 类似于公司中掌管人力资源部的经理、从横向到纵向都有管理权。
- Private 具有最低的访问权限、就像公司的一般员工、管好自己就行了。因此,对应于面向对象的开放性最小。
相信大家看过这篇文章之后对访问级别较清晰的体会、这对我们以后学习(封装变化)会体会更深。
谢谢大家来读我的文章、我会继续努力写好博客的、希望有读(Anytao)--《你必须知道的.NET》的朋友联系下,说老实
话这些都是我看过(AnyTao文章)之后的一些感想,我在这里仅是把我个人的理解说出来,写出来。
--体验继承之行(访问权限)
在我们人类社会中,继承一般发生在有血缘关系的族群中。例如:你和你Father,你继承你父亲,包括姓氏、基因、财
产、和一切可以遗留的东西。但并不代表可以继承你老爹的一切,因为你老爹有一部分属于你老爹独有,不可继承。当然你
也可以继承族群的其他的人,视实情而定。而在面向对象的世界中:“一切皆与继承、继承无处不在.”那么它们之间是通过什
么来实现不同的控制规则呢?那就是传说中的:访问权限。俗称:访问级别,如图1-1所示:
这些规则可以以公司的体制来举例说明,将公司职权的层级于面向对象的访问权限层级做类比,应该是这样:
- Public 类似于公司的董事会具有最高的决策权和管理权(具有最高的访问权限),因此Public开放性最大,不管是否同
一程序集或者不管是否继承,都可以访问。
- Protected 类似于公司业务部门经理,具有对本部门的直接管辖权,在面向对象中体现为子从父的一种纵向访问约定,
必须是继承了该类、则其对象就具有访问父类的权限、而不管是否在同一程序集中。
- Internal 类似于公司的人力资源部都可以管辖所有其他部门的员工考勤(而不管是否具有上下级的隶属关系),这是一
种横向的职责关系、在面向对象中用来表示同一程序集的访问权限,只要是隶属于同一程序集,对象即可访问其属性,而不
管是否存在隶属关系。
- Protected Internal 类似于公司中掌管人力资源部的经理、从横向到纵向都有管理权。
- Private 具有最低的访问权限、就像公司的一般员工、管好自己就行了。因此,对应于面向对象的开放性最小。
相信大家看过这篇文章之后对访问级别较清晰的体会、这对我们以后学习(封装变化)会体会更深。
谢谢大家来读我的文章、我会继续努力写好博客的、希望有读(Anytao)--《你必须知道的.NET》的朋友联系下,说老实
话这些都是我看过(AnyTao文章)之后的一些感想,我在这里仅是把我个人的理解说出来,写出来。
相关文章推荐
- 读你必须知道的.net有感--对象之生(1)
- 读你必须知道的.net有感--对象之生(2)
- [你必须知道的.NET]第十八回:对象创建始末(上)
- [你必须知道的.NET]第十九回:对象创建始末(下)
- 你必须知道的.NET:对象创建始末(上)
- 【转】[你必须知道的.NET]第十八回:对象创建始末(上)
- 目前只有三成功力(读你必须知道的.net有感)
- 【转】[你必须知道的.NET]第十九回:对象创建始末(下)
- [你必须知道的.NET]第十九回:对象创建始末(下)
- [你必须知道的.NET]第十八回:对象创建始末(上)
- [你必须知道的.NET]第十八回:对象创建始末
- [你必须知道的.NET] 第十九回:对象创建始末(下)
- [你必须知道的.NET]第十二回:参数之惑---传递的艺术(下)
- 【转】[你必须知道的.NET]第一回:恩怨情仇:is和as
- 【转】[你必须知道的.NET]第十六回:深入浅出关键字---using全接触
- 【转】[你必须知道的.NET]第二十二回:字符串驻留(上)---带着问题思考
- 读书笔记(一):【你必须知道的.NET】(1):【大话String】
- Web程序员必须知道的 Console 对象里的九个方法
- [你必须知道的.NET]第二十八回:说说Name这回事儿
- [你必须知道的.NET]第二十九回:.NET十年(上)