我正在研究 StringTokenizer.java
类,脑海中浮现出一些问题。
我注意到这些供其他类使用的公共方法调用了某些私有方法来完成所有工作。现在,我知道面向对象设计的原则之一是尽可能将许多内容设为私有并隐藏所有实现细节。但我不确定完全理解其中的逻辑。
我明白将字段设为私有很重要,以防止存储无效值(其中之一)。然而,当涉及到私有方法时,我不确定它们为什么如此重要。
例如,在 StringTokenizer
类的情况下,我们不能只将所有实现代码放在公共方法中吗?对于使用这些方法的类,它会有什么区别,因为这些方法的 API (即调用这些公共方法的规则)仍然相同?我唯一能想到私有方法有用的原因是它可以帮助您避免编写重复代码。例如,如果所有公共方法都执行相同的任务,则可以声明一个执行此任务的私有方法,并可以由公共方法使用。
另一个问题是,将实现写入私有方法与公共方法相比的优点是什么?
以下是一个小例子:
public class Sum{
private int sum(int a, int b){
return a+b;
}
public int getSum(int a, int b){
return sum(a,b);
}
}
对于C++开发人员来说,使用Visual Studio是非常常见的。
然而,有时候在创建新项目时,可能会遇到"无法打开包括文件..."的错误消息,这通常是由于缺少必要的头文件或库文件引起的。
为了解决这个问题,可以通过添加正确的目录路径或者安装缺失的组件来解决。
public class Sum{
public int getSum(int a, int b){
return a+b;
}
}
第一个示例有什么好处?