Hirdetés
- gban: Ingyen kellene, de tegnapra
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Depression: R.I.P.
- Luck Dragon: Óraátállítás
- hcl: GPT diszk kisebbre klónozása
- Meggyi001: Áram nélkül....méltóság nélkül.....
Ú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?:))
- TCL LCD és LED TV-k
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- gban: Ingyen kellene, de tegnapra
- 5.1, 7.1 és gamer fejhallgatók
- Otthoni hálózat és internet megosztás
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Kuponkunyeráló
- Hálózati / IP kamera
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Azonnali fáradt gőzös kérdések órája
- További aktív témák...
- Ryzen esportpc(ryzen3 -4100/RX580-8gb/SSD/hdd)
- Prémium! Gamer PC-Számítógép! Csere-Beszámítás! Rog C VIII / R9 3950X / RTX 3080 / 1TB SSD / 32GB
- Samsung galaxy watch 7 44mm (ezüst) + 1.5 év garancia
- iPhone 15 Plus 128GB gyári független normál állapot
- iPhone 15 128GB gyári független mint az új 2027.02.27. Apple jótállás
- Eladó egy Huawei GT3 okos óra Dobozzal tőltővel
- Gravity MS állvány + RØDE XDM-100 Mikrofon!
- ASUS ROG STRIX Z390-E GAMING ATX alaplap - doboz, leírás, 6 hónap garancia
- Innosick, Samsung Laptop memória DDR5 5600Mhz // ÚJ // Számla // Garancia //
- Ultimate előfizetés akár 3856 Ft/hó áron! Azonnali, automatizált aktiválással, csak Nálam!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

