Hirdetés
- 5G-s szettet kapott a Samsung legkedvezőbb ajánlata
- Mobil flották
- Google Pixel topik
- iPhone topik
- Megtalálták az akkumulátortechnológiai Szent Grált? - CES
- Hetvenmillió telefonnál is többet adott el a Honor tavaly
- Úton a Vivo V40 Android 16-os frissítése
- Honor Magic V3 - mágikus realizmus
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- One mobilszolgáltatások
Új hozzászólás Aktív témák
-
modder
aktív tag
Karma írta: "A lényeg az, hogy milyen szolgáltatást nyújt, nem az, hogy konkrétan hogyan oldja meg."
Igazából ez a legfontosabb dolog. Amit még hozzá tennék, hogy kontextusfüggő vagy scope függő, hogy a statikus típusa a változónak Map vagy TreeMap legyen-e.
Amikor az osztályod (osztályaid) külső interfészét tervezed meg, akkor a hívó kliens kódnak nem kell tudnia hogy milyen konkrét implementációt (TreeMap vagy HashTable) ad vissza az osztályod egy függvénye, csak azt, hogy a visszaadot érték Map tulajdonságú.
De az osztályon belül fontos lehet, hogy konkrét típust deklarálj. Például egy JSON feldolgozó osztályt csinálsz, és szeretnéd, ha a hívó kliens egyszerűen egy OutputStreambe tudja írni a feldolgozandó JSON stringet. Neked azonban kell egy módszer a JSON feldolgozó osztályban, amivel ki tudod nyerni az OutputStreambe írt adatot. Az OutputStream interfészben nincsen deklarálva semmilyen metódus, amivel adatot ki tudnál nyerni (nem is arra való). De a ByteArrayOutputStreamben vissza tudod kérni a beírt adatot byte[] tömbként.
Konkrét példa:
public class MyJsonParser {
private ByteArrayOutputStream jsonByteStream = new ByteArrayOutputStream();
public OutputStream getOutputStream() {
return (OutputStream) jsonByteStream;
}
public JsonObject parse() {
// fontos tudni hogy ez egy ByteArrayOutputStream hogy használhassuk a toByteArray() metódusát
byte[] jsonBytes = jsonByteStream.toByteArray();
JsonObject jObject = new JsonObject();
// parszoljuk a json stringet
return jObject;
}
}
public class Application {
public static void main(String[] argv) {
MyJsonParser parser = new MyJsonParser();
// kit érdekel a konkrét implementációja az OutputStreamnek én csak írni akarok bele?
OutputStream parserOutputStream = parser.getOutputStream();
parserOutputStream.write( argv[0].getBytes() );
JsonObject jObject = parser.parse();
}
}Ezt csak azért írtam le, mert nem örök igazság, hogy csak interfész típust deklarálunk.

Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- One otthoni szolgáltatások (TV, internet, telefon)
- Elektromos autók - motorok
- Hobby elektronika
- Tápokról alaposan - mélyvíz
- 5G-s szettet kapott a Samsung legkedvezőbb ajánlata
- AMD vs. INTEL vs. NVIDIA
- Apple asztali gépek
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- btz: Internet fejlesztés országosan!
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- iPhone 14 Pro Max 128GB 100% (1év Garancia)
- Legion 5 15IMH05 15.6" FHD IPS i7-10750H GTX 1650Ti 16GB 512GB NVMe magyar vbill gar
- Dell G15 5511 15.6" FHD IPS i7-11800H RTX 3060 16GB 1TB NVMe magyar vbill új akku gar
- BESZÁMÍTÁS! Részletfizetés 0% THM ÚJ AMD RYZEN 7 5700X3D OEM processzor 3 év 27% áfa
- Samsung Galaxy Z Flip5
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Steelseries Nova 1P Gamer fejhallgató
- Dell Precision 5520 15,6" FHD, Xeon E3-1505M v5, 16GB RAM, Quadro 4GB VGA, SSD, jó akku, számla, gar
- Nokia 8 Sirocco / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest



