Tworzenie instancji klas pochodnych w zależności od pola type odczytanego z pliku json

0

1 Mamy hierarachie klass b, c ,d które dziedziczą po klasie bazowej a.
2 Dana instancja będzie tworzona na podstawie danych odczytanych z pliku.json.
3 W pliku json mamy pole type, według którego będziemy tworzyć instancje.

Pytanie jak stworzyć instancje danej klasy w zależności od pola type. Nie wydaje mi się zbyt eleganckie w ifach sprawdzać pole type i w zależności od tego tworzyć obiekt? Dodam, ze klasy b, c, d maja takie same konstruktory.

0

Jeżeli klasy b, c, d mają wspólny interface możesz zrobić mniej więcej tak:

map = {
"type_1": ClassB,
"type_2": ClassC,
"type_3": ClassD
}

instance = map.get(type_from_json)()

1 użytkowników online, w tym zalogowanych: 0, gości: 1