- Motorola Edge 40 - jó bőr
- Samsung Galaxy S26 - szeret, nem szeret
- Elkalapálta a snapdragonos Galaxy S26 az exynososat
- One mobilszolgáltatások
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Magyarországra jön a Vivo 500 megapixeles kameratelefonja
- Nemzetközi vizekre evezett a Realme GT 7 és GT 7T
- Xiaomi 17 Ultra - jó az optikája
- Fotók, videók mobillal
Ú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?:))
- Luck Dragon: Asszociációs játék. :)
- A fociról könnyedén, egy baráti társaságban
- Entware topik
- Motorola Edge 40 - jó bőr
- Samsung Galaxy Felhasználók OFF topicja
- Vezetékes FÜLhallgatók
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Fejhallgatós találkozó
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Kingston FURY Beast 32GB (2x16GB) DDR4 3200MHz (Beszámítás)
- ÚJ HP All in One 24-cr1234na PC - 24"FHD IPS - Ultra 5 125U - 16GB - 512GB SSD - Win11 - Garancia
- Saeco Syntia digitális automata kávéfőző szálcsiszolt fém burkolattal
- Jura F50 classic V2 automata kávéfőző cappuccino fejjel
- Garis Új Samsung Galaxy A35 5G eladó
- Eladó Dell Latitude 5340 i5-1345U 16 GB DDR5 Törésgarancia
- GAMER PC! Ryzen 3900X / RX 7600XT 16GB / B550 / 32GB DDR4 / 500GB NVMe! BeszámítOK
- Sata 240GB SSD // 100/100% // számla // garancia
- AKCIÓ! Asus ROG Strix B365 i5 9400F 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG 600W
- Apple iPhone 11 128 GB Lila 1 év Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


