- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Azonnali fotós kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Melyik tápegységet vegyem?
- Milyen széket vegyek?
- Otthoni időjárás-állomás
- Kormányok / autós szimulátorok topikja
Ú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?:))
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy A56 - megbízható középszerűség
- Konteó topic
- Miért vezet mindenki úgy, mint egy állat?
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Óra topik
- Azonnali fotós kérdések órája
- Crimson Desert
- Apple iPhone 16 - ígéretek földje
- További aktív témák...
- BESZÁMÍTÁS! ASUS B550M R7 5700 32GB DDR4 512GB SSD RTX 3070 Ti 8GB Lian Li Vector V100R Corsair 650W
- BESZÁMÍTÁS! MSI Z390 i7 8700 32GB DDR4 500GB SSD 1TB HDD RTX 3060 12GB Zalman S2 TG FSP 800W
- BESZÁMÍTÁS! MSI Z270M i7 7700 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG ADATA 650W
- BESZÁMÍTÁS! ASUS STRIX B550 R5 5600 16GB DDR4 512GB SSD RTX 2080 SUPER 8GB Zalman S2 TG FSP 650W
- BESZÁMÍTÁS! ASUS STRIX B650E R7 7700X 16GB DDR5 512GB SSD RTX 4070 12GB NZXT H5 Flow RGB 750W
- Honor Magic8 Lite 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Logitech G29 (PS) // Számla // Garancia //
- Lenovo LOQ GAMING Laptop! Ryzen 7 250 / RTX 5060 / 16GB DDR5 / 1TB
- AKCIÓ! Intel Core i7 6700K 4 mag 8 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


