gpt4 book ai didi

Java- 继承问题。访问对象数组上的子类方法最初实例化了 super()

转载 作者:行者123 更新时间:2023-11-30 11:17:59 25 4
gpt4 key购买 nike

我正在学习 Java 类(class),但我在理解继承方面遇到了一些困难。我不是要你们为我做任何编码,但为我指明正确的方向会大有帮助。 (不会让我使用家庭作业或功课标签,但我想提前说明我的要求)

基本上我正在编写一个银行应用程序,其中包含一个名为 Account 的类,该类充当两个子类 Checking 和 Savings 的 super 构造函数。

据我了解,如果我实例化一个 Account 对象的数组,然后我可以调用子类(它又调用父类(super class)构造函数,参数有一些细微差别)并使用新命令将它分配给某个位置对象数组。

然后我的问题是访问子类中的某些方法。编译器仍然将对象数组视为帐户,但我希望它访问属于 Checking 或 Savings 子类的方法。

我的问题是让 Account 成为一个抽象类会更好吗?或者是否可以在 Account 类和子类中声明一个方法,如果我调用 Account 方法,它是否能够区分轮流调用哪个子类方法?

我尽量避免在子类中使用类型转换,并尽可能保持 Account 子类的通用性和封装性。

如有任何帮助,我们将不胜感激。如果您需要引用,我可以编写伪代码,但我宁愿自己完成所有编码。

最佳答案

如果要在 Account 类中声明具有完整主体或属性/实例变量的可重用函数,请将其设为抽象类。如果只有契约(或需要由子类实现的方法),则将其设为接口(interface)。通过使用接口(interface),我能想到的最大优势是在测试中可以模拟行为(契约(Contract))或在将来扩展一些其他类。一旦扩展了一个类,就不能再从另一个类扩展(不允许多重继承)。

无论哪种情况,您都无法实例化基类。

关于Java- 继承问题。访问对象数组上的子类方法最初实例化了 super(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24049964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com