java - 如何在特定条件下扩展类(class)?

标签 java if-statement subclass superclass

如何让 X 类在特定条件下扩展 Y 类?就像我有一个 super 类 Person 并且有一个属性 age,另一个类称为 Adult,如果年龄在 12 到 20 岁之间,则 Adult 类扩展 Person?如果不可能,您有其他选择吗?

最佳答案

我已经尝试通过HAS-A 关系和运行时多态性来实现您的要求。

在下面的例子中,Age 是一个父类,包含所有年龄段的更通用的属性。

不同年龄组分为几个类(class)。这些类包含特定于年龄的代码或属性,并将扩展 Age 类。例如 YoungElder 类。

class Age {
    // Generalized code for Age class
}

class Young extends Age {
    // more specific code of Young class
}

class Elder extends Age {
    // Elder class specific code
}

public class test {
    Age age ; 
    int ageValue ;

    public Age returnVal(int ageValue){
        if (ageValue < 20) {
            age = new Young();
        } else { 
            age = new Elder();
        }

        // age object you get will be according to ageValue.
        return age;
    }
}

returnVal() 方法将根据 ageValue 向您返回 Young 类或 Elder 类的对象.

关于java - 如何在特定条件下扩展类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22205160/

相关文章:

C 程序询问用户是否想要从 C 转换为 F,然后进行转换

java - 在运行时从另一个 JPanel 中的单独类文件添加自定义 JPanel

java - 试图理解 Java 中的继承

java - 为什么 ArrayList 上的 contains() 方法总是返回 false?

java - 使用 JGit 获取一系列修订的日志

java - 将复选框样式更改为 Cross - Android

java - JDBC Java 的问题

python - 如何根据时间和日期输入进行过滤和分类

refactoring - 如何重构多个复杂的 if-else 分支

ios - 从子类在 Swift 中具有泛型的基类转换子类