oktatas:programozas:tervezesi_mintak:gyarto_metodus
Tartalomjegyzék
Gyártó metódus
- Szerző: Sallai András
- Copyright © Sallai András, 2014
- Licenc: GNU Free Documentation License 1.3
- Web: http://szit.hu
Használat
Akkor használjuk ha nem tudjuk milyen példányok jönnek létre.
Az állatgyár példa
- Program01.java
interface Allat { public void beszel(); } class Macska implements Allat { public void beszel() { System.out.println("Miau"); } } class MacskaGyar { public static Macska newMacska() { return new Macska(); } } class Program01 { public static void main(String[] args) { Macska cirmos = MacskaGyar.newMacska(); cirmos.beszel(); } }
Macska és kutya
Egyetlen gyártó
- Program01.java
enum AllatFajta { MACSKA, KUTYA } interface Allat { public void beszel(); } class Macska implements Allat { public void beszel() { System.out.println("Miau"); } } class Kutya implements Allat { public void beszel() { System.out.println("Vauu"); } } class AllatGyar { public static Allat newAllat(AllatFajta allatFajta) { if(allatFajta == AllatFajta.MACSKA) return new Macska(); if(allatFajta == AllatFajta.KUTYA) return new Kutya(); return null; } } class Program01 { public static void main(String[] args) { Allat allat = AllatGyar.newAllat(AllatFajta.MACSKA); allat.beszel(); } }
Szokásos metódusnevek
Általánosan használt statikus metódusok:
- valueOf() átadott paraméterrel egyenértékű objektummal tér vissza
- newInstance() készít egy új példányt gyártómetódusból, amelyet meghívunk
- getInstance() egy Singleton példánnyal tér vissza
- getType() egyenértékű a getInstance() metódussal, de külön osztályban van
- newType() egyenértékű a newInstance() metódussal, de külön osztályban van
oktatas/programozas/tervezesi_mintak/gyarto_metodus.txt · Utolsó módosítás: 2019/08/22 13:36 szerkesztette: admin