java - 2 个子类中有相同的 getter 和 setter..?

标签 java oop inheritance

我不是那么优秀的面向对象设计..所以请耐心等待..

我有 A 类,还有 2 个扩展 A 的类。但是它们都有相同的字段。所以更好的是,在 A 中具有 getter/setter,或者在两个子类中具有相同的 getter/setter。或者有没有更好的方法来做到这一点..?

这就是我所做的(模拟)..

 class A{

    private int x;

    protected A(int x){
    this.x = x;
    }

    public static A createA(id a, int x){
    switch(a){
    case 0: 
    return new C(x);
    break;
    //so on

    }


    public int getX(){
    return x;
   }

    }

谢谢..

最佳答案

这取决于类(class)

如果这些属性是 A 的属性,那么是的, 如果只是碰巧它们具有相同的属性,那么就不会。

基本上,您需要问自己的问题是,是否会有一个扩展 A 的类不需要这些属性。

如果答案是否定的,则将它们放在 A 上,

如果答案是肯定的,请将它们保留在子类中, 或者在这两个子类之间创建另一个具有这两个属性的抽象类。

关于java - 2 个子类中有相同的 getter 和 setter..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14959088/

相关文章:

c++ - 指针重新分配和多态性

java - 继承中的静态方法

java - 将文本添加到 JTextPane 而不让用户编辑?

java - indexOf 导致 java.lang.ArrayIndexOutOfBoundsException

java - 我在哪里可以找到 javax.swing.BorderLayout 类的源代码?

c# - 何时检查对象的状态,一般 OOP,C# 中的示例

ruby - 从父类(super class)调用子类方法 - 设计模式

java - 如果 Activity 是从另一个 Activity 启动的,则启动一个方法

java - java中外部类和内部类是如何关联的?

java - 如何不在对象和用户输入中重复验证代码