·您的位置: 首页 » 资源教程 » 编程开发 » JAVA、JSP » 访问控制 : 语言和平台

访问控制 : 语言和平台

类别: JAVA教程  评论数:0 总得分:0

程序逻辑上的组织方式(如名称空间,包等)可以和部署时的分发方式(如程序集,jar包等)不同,那么不同class间的相互访问权限应该在逻辑组织上限制还是物理分发上限制呢?

Java

语言本身

采用了对逻辑组织方式进行限制,即你可以访问java.lang中的私有类而能够通过编译,只要你自己的代码也以java.lang为包名[我猜的,没试过]

运行时

采用了对物理分发方式进行限制,可能跟缺省的ClassLoader有关,即使你通过编译了,但部署时同一包名下的类分成了不同的jar包,那么对私有类的访问可能会出错[我猜的,没试过]

.Net

CLS

不知道,希望补充

C#

对物理分发方式即程序集进行限制,从语言到运行时都是如此

个人倾向于C#的权限控制,合理且灵活;Java中当逻辑和物理组织不同时,不是被迫把一个class别扭的挪到当前package,就是把它声明为public,而一旦声明为public,你就再也控制不了了

传统的访问控制已超出了语言本身的范围,属于平台特性了



-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1