public interface Vehicle {
void start();
void stop();
int getMaxSpeed();
}
public interface PaymentProcessor {
boolean processPayment(double amount);
String getTransactionId();
void refund(String transactionId);
}
public class CreditCardProcessor implements PaymentProcessor {
@Override
public boolean processPayment(double amount) {
// 具体的信用卡处理逻辑
return authorize(amount) && capture(amount);
}
@Override
public String getTransactionId() {
return generateUniqueId();
}
@Override
public void refund(String transactionId) {
// 退款处理逻辑
initiateRefund(transactionId);
}
}
// 不推荐:混合了用户管理和认证两个职责 public interface UserManager {
void createUser(User user);
void deleteUser(String userId);
boolean authenticate(String username, String password);
void changePassword(String userId, String newPassword);
}
// 推荐:分离成两个专注的接口 public interface UserService {
void createUser(User user);
void deleteUser(String userId);
User findUserById(String userId);
}
public interface AuthenticationService {
boolean authenticate(String username, String password);
void changePassword(String userId, String newPassword);
}
public interface PaymentProcessor {
boolean processPayment(Payment payment);
void refundPayment(String transactionId);
PaymentStatus checkStatus(String transactionId);
}
// 错误:类必须实现所有接口方法 public class CreditCardProcessor implements PaymentProcessor {
@Override
public boolean processPayment(Payment payment) {
// 实现处理逻辑
return true;
}
// 缺少refundPayment和checkStatus的实现
}
你可能想看: