访问权限控制

本文探讨了访问权限控制在类库设计中的核心作用,包括防止用户访问不应触及的内部操作,简化客户端程序员对类的理解,以及允许设计者更改内部工作方式而不影响客户端。文章还介绍了如何通过封装实现具体实现的隐藏,以及一个限制类实例化次数的设计示例。

为什么进行访问权限控制

1.为了使用户不要碰触那些他们不该碰触的部分,这些部分对于类内部的操作是必要的,但是并不属于客户度程序员所需接口的一部分。

作为一名类库设计人员,你会尽可能的把一切方法都设计成private,而仅向客户端程序员公开你愿意让他们使用的方法。这样也简化了他们

对类的理解。

2.为了让类库设计者可以更改类的内部工作方式,而不必担心这会对客户端程序员产生重大影响。比如,最初可能会以某种方式创建一个

类,然后发现如果更改程序结构会大大提高运行速度,如果接口和实现可以明确地隔离和加以保护,那么就可以实现这一目的。而不用强

制客户端程序员重新编写代码。

访问权限的控制常被称为具体实现的隐藏。把数据和方法包装进类,以及具体实现的隐藏,常被共同称为封装。其结果是一个同时带有特征和行为的数据类型。

设计一个类只能被实例化指定次数

public class Soup {
	public static int number;

	private Soup() {
	}

	public static Soup makeSoup() {
		number++;
		System.out.println(number);
		if (number >= 5) {
			System.out.println("Sout实例化超过5次,不在实例化!");
			return null;
		}
		return new Soup();
	}

	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			Soup soup = Soup.makeSoup();
		}
	}
}

在.java文件中每个类都会有一个输出文件也就是说一个.java文件有可能会对应多个.class文件

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值