interface Auto default AutoFabrik { Auto(hersteller); final hersteller; } class AutoFabrik { factory Auto(hersteller) { if (hersteller == "Ferrari") { return new Rennwagen(hersteller); } return new Mittelklasse(hersteller); } } class Rennwagen implements Auto { Rennwagen(this.hersteller); String hersteller; } class Mittelklasse implements Auto { Mittelklasse(this.hersteller); String hersteller; } main() { print(new Auto("Ferrari") is Rennwagen); print(new Auto("VW") is Rennwagen); }