Interfészek OOP (java), egyszerű módon
Általános definíció: Az interfész egy sor módszerek és szabályok kölcsönhatás a rendszer elemeit. Más szóval, a felület határozza meg, hogyan elemek kölcsönhatásba lép.
Amikor használja ezeket a „tárgyak”, akkor biztos benne, hogy képes lesz használni őket ilyen módon. Annak a ténynek köszönhetően, hogy tisztában vannak a felület
A programozás, vagy valami ilyesmi. Miért van a grafika része a programnak gyakran nevezik a felület? Mert ez határozza meg, hogyan lesz képes használni a benne rejlő alapvető funkciókat a programban.
„Az interfész meghatározza, hogyan tudjuk használni a létesítményt” - átadjuk ezt az elképzelést, hogy a programozási síkban.
Tegyük fel, hogy van egy program a következő típusok:
és most látom, hogy fel tudjuk használni, amink van:
Mint látható, használjuk őket ugyanúgy, de a lényeg abban rejlik, hogy a végrehajtás módszereit:
Egyrészt az, hogy SomeCar CarWithKpp örökli a felület (és ezen keresztül az utóbbi is a Car), hadd használja, hogy működjön együtt a módszerek testAction1, testAction2. Interfészek hajtanak végre (végre) a SomeCar osztály - hozzáférést biztosít a jogot, hogy annak használatát. És használata a felület a módszer aláírás biztosítja, hogy pontosan azt kapja az a típus, amire szüksége van.
A hátránya az, hogy a felület szab használatának korlátozását az osztály. Egy példa erre az a tény, hogy az eljárás során testAction2 hozzáférés getKpp módszer már nem lehetséges. Így lehetséges, hogy elrejtse a módszerek és tulajdonságok, amelyek deklarált CarWithKpp interfész, valamint a módszerek bejelentett egy osztály SomeCar (ha azok nincsenek jelen a felületen). Mindkét módszer csak akkor használható egy sor „eszközök” a számukra elérhető (ez határozza meg a felületen).
Ezzel csak azt? Nos, rendben, itt most kezdődik köpködni mindenféle ember Tipo guru :)
Interface - ez egy lehetőség, hogy nézd meg az osztály, mint egy tárgy, egy kicsit másmilyen.
Hadd magyarázzam meg: Nos, ahogy neve is mondja ez. A tárgy OOP olyan szervezet, amely rendelkezik saját technikák és dolgozni velük - szokásos eljárások hívja „kapu”, és a felület egy „ajtó” e „kapu” - egy kicsit más módon foglalkozik az azonos tárgyat. Tehát, ha elfelejti a „kapuk”, hogy úgy tűnik, egy másik objektumot. A kulcsszó itt látszik.
Példa: van egy tábla objektumot, amely módszereket foglalkozik vele: azaz, hogyan kell enni ülés mögött, takarja havchik, szállít, gyűjt, látta el a lábát, és így tovább. De ugyanaz a tábla objektum tekinthető bútorok felület (az a nyelv a PFSZ nevezik az osztály típusú asztali végrehajtja a felület típusától bútor :. Class táblázat valósítja Bútor Egyértelmű, hogy nem a bútorokat lehet enni, vagy vágja le a lábát, de minden bizonnyal az, hogy bútorokat lehet szállítani, és összegyűjtjük.
Most mindez miért van szükség. Ismét a példa a bútorok - ha azt mondjuk, van egy tárgy egy széket is értékesít bútorok felület, és egy szék és egy asztal is ugyanúgy kezeljék - ez az értelme a felület -, hogy egyesítse a munkát heterogén tárgyakat.
Ui Mellesleg, a kedvenc kérdése kérdezőbiztosok az interjú: hogy van egy magasabb absztrakciós szinten - osztály, egy absztrakt osztály vagy interfész? A helyes válasz - Interface
Megértése a felület jön időben. Hány nem olvasnak, hány nem magyarázza, te magad kell, hogy megértsék a rugalmasság, a skála a fellépés, ezek biztosítják a programozó. Próbáld meg használni őket. Java osztály könyvtár végrehajtásához interfészek. Megpróbáljuk tanulmányozni őket, talán ez segít megérteni a hatalom, amely a programozás interfészeket.
** interface objektum hívunk olyan műveletek (módszer), hogy lehet, hogy vagy, hogy végre rajta. Például, a 3-as számú interfészt hívják, sőt, „szám”, és tartalmaz egy sor műveletek összeadás, kivonás, szorzás és osztás. Végrehajtja ezt a felületet lehet akárhány fajta / osztályok, például a típusok TseloeChislo, VeschestvennoeChislo, KompleksnoeChislo és nem nyilvánvaló típusok, például az intervallum vagy polinom. Ugyanakkor, az azonos típusú végre több mint egy felületen. Tehát TseloeChislo kivéve az interfész száma valósíthatja felsorolás interfész - ez az osztályban TseloeChislo csak ki kell terjeszteni a meghatározása a működését, „next” és a „korábbi”.
Furcsának tűnhet, de ez az, ami megkülönbözteti az ember állatokból - használható felületek helyett az osztályok. Lehet, hogy emlékszik a klasszikus tapasztalata egy majom, amely megszokta, hogy oltsa el a tüzet vízzel a vödröt; majd teszünk egy vödörbe egy tutajon a közepén a medencében, hanem a majom még futott a hídon a tutajon, és felhívta a vizet a vödör helyett vizet meríteni közvetlenül a medencében. Azaz, a majom használt osztályát a víz egy vödör vizet, hanem a felület (és még azt fogja mondani neked egy titkot: ahelyett, hogy egy interfész eszköz-for-edzés).
Amikor azt gondoljuk, az osztályok - mint az állatok. Az emberek azt hiszik (és program) interfész.
Egy egyszerű módja. Kérdés többszörös öröklés sok programozási nyelvek könnyen megoldható - engedélyezi vagy megtagadja. Dzhavisty úgy döntött, hogy üljön a két szék, és válaszd a saját útját. Java, elvileg nem lehet a többszörös öröklés az osztályok. Ha írunk a kulcsszó terjed. akkor tudjuk, hogy örökli csak egy osztályba, függetlenül attól, hogy elvont vagy hagyományos. De ahhoz, hogy egyszerűsítse tervezése és szoftver kompatibilitás, zsemle származó többszörös öröklés is szeretne, majd adja meg a jelenetet pontok. Interface - listáját módszerek (csak a nyilvános (még a szó nem kell írni a másik felületen nem lehet), és csak a végrehajtás nélkül), és a változók, amelyek szükségesek bármely valamint itt van az utód osztályban. És csak az egész felületet valósít kulcsszóval lehet tolni annyi. És ők öröklik egymástól, amennyire csak lehetséges. Így a felület - ez a garancia arra, hogy a megvalósító osztályoknak tartalmaz módszerek és változók vannak ott felsorolva. Ezért a kifejezést ourObject instanseof ourInterface igaz értékkel tér vissza, azt tudjuk, hogy ott ourObject felsorolt módszerek ourInterface
Az interfészek alapján a kölcsönhatás a modern információs rendszerek. Ha a felület egy objektum (személyi számítógép, programok, funkciók) nem változik (stabil, standardizált), ez lehetővé teszi, hogy módosítsa a tárgy maga, nem átrendezésével elveihez kölcsönhatás egyéb objektumok (például a tanulás a munka egy program a Windows, a felhasználó könnyen mester és mások -, mert az azonos típusú felület elemei).
Egy példa a Windows program, nagyon világos)) én magam jöttem ide, hogy milyen felületen
java interfész meghatározza a felület egy osztály. Ez lesz világos, köszönhetően a hiányos orosz műszaki programozás. Egy általánosabb megértése, hogy tisztázni kell a szó jelentését felület.
Interfészek célja, hogy támogassa a dinamikus felbontás metódushívások futásidőben. Általános szabály, hogy a megfelelő vizsgálati módszer hívást az egyik osztály egy másik osztály, mind jelen kell lennie a fordítás során a Java fordító, ellenőrizd a kompatibilitást az eljárás aláírásokat. Önmagában ez a követelmény létrehoz egy statikus osztály és nem bővíthető elosztott környezetben. Egy ilyen rendszerben funkciós elkerülhetetlenül át egészen az osztály hierarchia, amelynek mechanizmusok számára elérhető lesz, egyre több alosztályok. Interfészek vannak kialakítva, hogy megakadályozza ezt a problémát. Ezek izolálja a meghatározása a módszer vagy meghatározott módszereket az öröklési hierarchiában. És mivel a felület hierarchia nem ugyanaz, mint a hierarchiában az osztályok, az osztályok nem kapcsolódnak egymáshoz hierarchikusan. is alkalmazni tudja a felületet. Ez az a felület képességek legteljesebb mértékben megnyilvánul.