Implementacja interfejsu dla klasy abstrakcyjnej

0

Witam.
Opisze swój problem:
Posiadam klasę abstrakcyjną Kształt oraz 2 klasy które dziedziczą po sobie Trojkąt oraz Prostokąt. Mam taki interfejs przewidziany:

 
interface Company
{
 Ksztalt zwrocFigure(String typ, int a, int b, int c) throws Wyjatek;
}

W tym celu tworzę nową klasę

 
class Produkcja implements Company{
    
    public Ksztalt zwrocFigure(String typ, int a, int b, int c) throws Wyjatek{
        String name = new String();
        name = "Nie powiodlo sie";
        boolean ok = (typ=="Prostokat") || (typ=="Trojkat");
        if (!ok) throw new Wyjatek(name);
        else if (typ=="Prostokat") return new Prostokat(a,b);
        else return new Trojkat(a,b,c);
       
    }
}

W tym momencie w tej klasie jest wszystko ok. Ale w mainie wystepuje problem.

 
Fabryka test = new Fabryka();

To nie chce przejść . Pokazuje ze Fabryka is abstract and cannot be intialized.
Jak poradzic sobie z tym? Czy jest to w ogóle mozliwe zwracanie obiektu klasy pochodnej gdy jest zadeklarowany obiekt klasy abstrakcyjnej?

2

Skąd Ci się wzięła fabryka? Generalnie mimo że wszystko jest tu pomylone, popełnione chyba wszystkie możliwe błędy czystego kodu to pewnie chodziło Ci o Company company = new Produkcja();

0

Olaboga. Pokaż całość, bo na tą chwilę widzę przynajmniej kilka mega wtfów.

0

zanim @Shalom zobaczy
user image

0

Co to za klasa Fabryka?
I tak w ogóle to naucz się tworzyć czytelny kod z wcięciami itd. bo oczy mnie od tego bolą

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