- iPhone topik
- OnePlus 15R - régen minden jobb volt
- A világ aktív okostelefonjainak negyede iPhone, ötöde Galaxy
- Yettel topik
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Végre hivatalos, mikor lesz az S26 hivatalos
- Milyen okostelefont vegyek?
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Xiaomi 13 - felnőni nehéz
Ú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?:))
- Horrorral pörgetné fel az új GeForce-ok eladásait az NVIDIA
- Milyen széket vegyek?
- Luck Dragon: Asszociációs játék. :)
- Windows 11
- Xbox tulajok OFF topicja
- Robotporszívók
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Óra topik
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- Prémium fejhallgató kábel ( Focal, Denon)
- 15.gen! Intel Core ULTRA 5 245KF (5800X3D-t veri) +wifis lap +16-32GB DDR5 RAM! GAR/SZÁMLA (nevedre)
- Üzleti kategóriás laptopok, asztali számítógépek, alkatrészek,garanciával, ZoliLaptop.hu
- Pioneer PD-S601 asztali CD lejátszó
- HP EliteDesk 800 G2 MT PC, I7-6700, 8GB DDR4, 120GB SSD, Nvidia Quadr 1GB VGA, Win 11, Számla, garan
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest



