Hirdetés
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
- GoodSpeed: Samsung Galaxy A56 5G
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- nézzbe: AM3 hűtés s478-ra
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Ú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
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Xbox Series X|S
- iPhone topik
- Luxuspóráz: okosláncot akasztana a nyakadba az Apple
- Tőzsde és gazdaság
- Azonnali fáradt gőzös kérdések órája
- Elemlámpa, zseblámpa
- Samsung Galaxy A56 - megbízható középszerűség
- Épített vízhűtés (nem kompakt) topic
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- ÚJ Lenovo Yoga 7 - 14" WUXGA OLED - Intel Ultra 5 226V - 16GB - 512GB - Win11 -3 év gari - HUN - PEN
- Orion HS 200 hangfalpár
- HP X360 830 G10 2in1 360 fokban kihajtható tablet mód is! i5 1335U 16Gb 256GB
- ÚJ iPad Pro 13" M4 Space Black 256GB Wifi
- Dell Precision 7550,15.6",FHD,i7-10850H,16GB DDR4,512GB SSD,Quadro T2000 4GB VGA,WIN11, 2 KAMERA
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
- HIBÁTLAN iPhone 12 mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3481
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Apple iPhone 15 128 GB Pink 1 év Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


