将班级初始化为另一个班级

时间:2020-08-18 11:04:29

标签: python oop

我想做某种“反向继承”,根据输入,我有一个初始化为另一个类的类,并且还具有多个共享方法。我对为每个输入实例化不同的类不感兴趣,我希望这种情况可以在“幕后”进行。
我正在寻找执行以下操作的正确方法:

use Illuminate\Support\Facades\Config;

Cookie::set('app.name','new value');

我可以通过执行“按书”继承并调用一个函数来处理与输入有关的逻辑来做到这一点:

cookie(['app.name' => 'new value'])

但是我一直想知道是否还有一种更优雅的方法。

谢谢!

1 个答案:

答案 0 :(得分:-1)

您可能想使用字典:

professional = {'baker': Baker, 'carpenter': Carpenter}

然后使用;

def get_professional(profession):
    constructor = professional['profession']
    return constructor()

另一种方法是使用exec函数,但这不是一个好主意