java类如何根据需要发送其参数?

问题描述

我是 Java 新手。 我有 CardDetails 类,它是我的 getCardDetails 方法的返回类型。 现在,场景是我有通用类(CardDetails)从方法 getCardDetails() 向我的 UI 返回结果。

public class CardDetails {
    String cardNumber;
    String cardCode;
    String cardStatus;
    String debitCardPrimaryAccountNumber;
    String creditCardDescription;
    String creditCardActionCode;
}

如果您看到类的最后一个字段 creditCardDescription 和 creditCardActionCode 属于信用卡,而 debitCardPrimaryAccountNumber 仅特定于 DebitCard。 现在,我可以使用哪种 OOP 概念,以便在信用卡的情况下我的类对象是:

public class CardDetails {
    String cardNumber;
    String cardCode;
    String cardStatus;
    String creditCardDescription;
    String creditCardActionCode;
}

对于借记卡,则为:

public class CardDetails {
    String cardNumber;
    String cardCode;
    String cardStatus;
    String debitCardPrimaryAccountNumber;
}

因为我的返回类型始终是 CardDetails 类。

提前致谢!

解决方法

好的,所以您要实现的是典型的继承。您需要一个超类 CardDetails 和两个更具体的子类 CreditCardDetails 和 DebitCardDetails,它们将扩展 CardDetails 类。

这是您的超类卡片:

public class CardDetails {
    String cardNumber;
    String cardCode;
    String cardStatus;
}

这是您的两个子类:

public class CreditCardDetails extends CardDetails {
    String creditCardDescription;
    String creditCardActionCode;
}

public class DebitCardDetails extends CardDetails {
    String debitCardPrimaryAccountNumber;
}

为了更好地理解继承概念,它意味着 CreditCardDetails 和 DebitCardDetails 都从 CardDetails 类继承(扩展),这意味着它们包含在这种情况下 CardDetails 超类的所有属性和方法。此外,您的子类(CreditCardDetails 和 DebitCardDetails)有额外的属性,可能还有额外的方法,因为您可以添加它们。

如果这有帮助,请告诉我。 :)

,
public class CardDetails {
    String cardNumber;
    String cardCode;
    String cardStatus;
}

public class CreditCard extends CardDetails {
    String creditCardDescription;
    String creditCardActionCode;
}

public class DebitCard extends CardDetails {
    String debitCardPrimaryAccountNumber;
}