Sam*_*Sam 2 java design-patterns
我有一个界面:
public interface IUser {
public boolean login();
}
Run Code Online (Sandbox Code Playgroud)
以及两个实现该接口的类:
public class UserA implements IUser{
public boolean login() {
System.out.println("login");
}
public void update() {
System.out.println("update");
}
}
public class UserB implements IUser {
public boolean login() {
System.out.println("login");
}
public void delete() {
System.out.println("delete");
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如果我创建一个用户:
IUser user = new UserA();
Run Code Online (Sandbox Code Playgroud)
用户对象无权访问update()但建议使用接口创建对象,我想知道是否有可以使用的最佳实践或设计模式(而不是强制转换)?
“向接口编码”是一个很好的做法。
但是,只有当该接口具有您需要的所有方法时,这才有效。
如果没有,您需要使用具体类而不是接口(这不一定是坏事,这取决于情况),或者重新考虑如何设计接口。
| 归档时间: |
|
| 查看次数: |
2240 次 |
| 最近记录: |