小编Man*_*shi的帖子

字符串切换OOP中的实现替代方案

我有两个对象说对象a和对象b.这两个对象都有一些属性,比如名称,年龄等.我想编写一个方法,我将一些字符串值作为参数传递给此方法,并为两个对象打印一些值.要打印的值由传递给方法的String决定.更清楚的是: -

Class A{
String name;
String age;
//getters and setters for name and age
}

Class B{ 
String salary;
String level;
//getters and setters for name and age
}




public String getValue(String attribute)
{
    switch(attribute)
    {
        case "name":
        System.out.println(a.getName());
        System.out.println(b.getSalary());
        break;
        case "age":
        System.out.println(a.getAge());
        System.out.println(b.getLevel());
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在使用switch语句完成工作.但我已经读过,切换语句对于OO设计来说不是一个好习惯.我能做到这一点的其他方法是什么?我已经阅读了有关使用枚举的内容,但我对此并不十分清楚.

java oop enums design-patterns switch-statement

0
推荐指数
1
解决办法
163
查看次数

标签 统计

design-patterns ×1

enums ×1

java ×1

oop ×1

switch-statement ×1