Implementacja wzorca factory method

0

Witam, mam zaimplementować wzorzec factory method na poniższej hierarchii dziedziczenia:

abstract class SC{
	//Metody
}

class A extends SC{
	String a;
	public A(String a) {
		this.a=a;
	}
}

class B extends SC{
	int b;
	public B(int b) {
		this.b=b;
	}
}

Nie wiem jak się do tego zabrać, ze względu na parametry różnego typu w konstruktorach każdej z konkretnych klas. Na każdej ze stron gdzie szukałem odpowiedzi jest implementacja tylko dla obiektów o tych samych atrybutach albo bez żadnych atrybutów.

Mógłby mi ktoś z forumowiczów pomóc rozwiązać ten problem?

0

Nie ma znaczenia jakie parametry posiadają Twoje klasy A i B, oraz jakimi konstruktorami dysponują. Ideą metody fabrykującej jest wykorzystanie mechanizmu dziedziczenia, gdzie odpowiedzialność wytwórcza znajduje się po stronie klas rozszerzających daną abstrakcję zawierającą właśnie metodę fabrykującą. To dane klasy rozszerzające decydują jak zaimplementują tę metodę i w jaki sposób będzie ona zwracać dany obiekt.

0

w zasadzie wystarczy defaultowy konstruktor:

abstract class SC{
    //Metody
   SC() {
      return;
   }
}

No chyba, że trzeba faktycznie trzeba dopisać metody... to ja nie wiem. Ja wiem, że jak mam klasę, która rozszerza klasę abstrakcyjną o jakies metody, to rzucam nullami na lewo i prawo i idę na kawę. ;)

0

To czy w takim razie w owej metodzie fabrykujacej dany obiekt mogę odczytywać od użytkownika dane parametry obiektu aby go utworzyć?

0

@admk: nic nie rozumiem z tego co napisałeś.
Potraktuj proszę Abstract Class tak jak Interface. Klasy abstrakcyjne i interfejsy w Javie w zasadzie niczym się nie różnią. Różnica jest jeno taka, że klasy można "rozszerzyć" tylko raz, a "interfejsów" można wiele "dać" do danej klasy. To jest cała różnica. Nawet jak zejdziesz do poziomu "bytecode" to będzie to samo.
Dziwne ćwiczenia masz zadane.

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