- Red Magic 11 Air – vékony házból süvít a szél
- Csíptetős fülesek csatája – Sony LinkBuds Clip vs. Huawei FreeClip 2
- Mérföldkő a szilárdtest-akkuknál: fontos lépést tett a QuantumScape
- Újabb óriásakku a Honortól: a X80 lehet a következő 10 000 mAh-s modell
- iPhone 18 Pro Max: kis kapacitásbővítés hoz nagy előrelépést üzemidőben
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- OnePlus 15 - van plusz energia
- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Itt az első hivatalos poszter a Galaxy S26 Ultrához
- iPhone topik
- Fotók, videók mobillal
- Milyen okostelefont vegyek?
- Samsung Galaxy S10e - esszenciális
- Minden út Palindrómába vezet: leépítésekkel tér vissza a Realme a gyökereihez
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- MasterDeeJay: RAM gondolatok: Mennyi a minimum? DDR3 is jó?
- Kókuszdió: Ryzen ( Zen4 / Zen5) – amikor a „normális működés” magyarázatra szorul
- valakiyt: A világ mindennek az alja!
Új hozzászólás Aktív témák
-
modder
aktív tag
válasz
Dave-11
#3239
üzenetére
Ha már a könyvben szó esett arról, hogy "az osztály implementálja az x interfészt", akkor gyanítom, hogy egy valós példa is szerepel az interfész alkalmazására.
Többek között azért jó egy interfész, mert elrejti az osztály konkrét implementációját (fordítási időben).
Egy egyszerű példa a Swing ActionListener interfész amit arra használhatsz, hogy gui eseményekre (pl. gomb megnyomása) valamit reagáljon a programod.
A GUI komponens .addActionListener( ActionListener listener ) metódusának egy olyan objektumra van szüksége, aminek van actionPerformed( ActionEvent e ) metódusa. Tehát létrehoztak neki egy interfészt, amiben deklarálták ezt a metódust, ez lett az ActionListener interfész. Ezzel kényszerítik ki, hogy csak olyan objektumot adjál át ennek a metódusnak, aminek megvan a megfelelő actionPerformed( ActionEvent e ) metódusa.Vissza a fordítási időhöz: Látható, hogy a Swing készítőket nem érdekli, hogy miután lefordították a Swing library-t milyen ActionListener objektumokat fog létrehozni a fejlesztő, lehet azoknak az objektumoknak hatszáz másik metódusa is, és mindegy, hogy mit csinál. Ami a fontos, hogy a fejlesztő által létrehozott listener objektumoknak meglesz az elvárható tulajdonsága: lesz neki actionPerformed( ActionEvent e ) metódusa.
-
Davs
tag
válasz
Dave-11
#3239
üzenetére
Egy intefesz csak definialja a metodusok neveit. Ha az osztalyod implementalja az interfesz, akkor az osztalynak definialnia kell MINDEN metodust, ami az interfeszben volt. Ahogy az elottel szolo peldajaban is latod, a MyService interfeszben csak a metodusok neve van definialva. A MyServiceImpl osztaly implementalja a MyService interfeszt, ezert implementalnia kell a get/setSomething metodusokat.
Ez ez egesz iterfeszes dolog pl arra jo, hogy ellenorizni tudod, hogy egy osztaly implementalja-e az adott interfeszt, es ha igen, akkor biztosan tudod, hogy az osztaly tartalmazza az interfeszben definialt metodusokat stb.
-
TBG
senior tag
válasz
Dave-11
#3239
üzenetére
Pár szó akkor.
Interfész:
public interface MyService {
public void setSomething();
public String getSomething();
}
public class MyServiceImpl implements MyService {
@Override
public void setSomething(String something) {
// Do something...
}
@Override
public String getSomething() {
return "Some String";
}
public void setFoo(String foo) {
// Do anything else...
}
}
public class Something {
public static void main(String[] args) {
// Ebben az esetben csak azokat a metódusokat látod, amiket a MyService interfész deklarál....
MyService myService = new MyServiceImpl();
myService.setSomething("Hehe");
String something = myService.getSomething();
// Ebben az esetben látod az interfész által deklarált metódusokat és az egyebeket is.
MyServiceImpl myServiceImpl = new MyServiceImpl();
myServiceImpl.setSomething("Hehe");
String something = myServiceImpl.getSomething();
myServiceImpl.setFoo("Foo");
// Röviden...
}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Fejhallgató erősítő és DAC topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- alza vélemények - tapasztalatok
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Amlogic S905, S912 processzoros készülékek
- A fociról könnyedén, egy baráti társaságban
- Vezeték nélküli fejhallgatók
- Elemlámpa, zseblámpa
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- Apple iPad 8 (2020) 10.2 128GB 91% akku megkímélt, szép állapot
- AMD 7500F Tray 2028 novemberig garanciával
- DJI NEO drón 3 akkumulátorral +tok +ND szűrők
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 66921Ft+ÁFA
- -ÚJ- 2x8GB 3600MHz Apacer NOX hűtőbordás DDR4 kitek! GAR/SZÁMLA (a Te nevedre kiállítva)!
- LG 32UQ85V-W / 32" Nano IPS / 4K 3840x2160 / Gyárilag Kalibrált / HDR 400 / USB Type-C 90W
- iPhone 14 Pro 256GB 100% (1év Garancia)
- Használt Apple iPhone 11 64GB / 12 hó jótállás
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- BESZÁMÍTÁS! ASRock H510M i5 11400F 16GB DDR4 512GB SSD GTX 1660 Super 6GB Kolink Rocket Heavy 450W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


