Нажмите "Enter", чтобы перейти к содержанию

Facebook interfész beállítása

Interfészek a c # -ban

Azok számára, akik most kezdnek tanulni c # gyakran a kérdés merül fel, mi az interfész, és miért van szüksége rá.

Először is, hogy megtalálja az első linket egy keresőmotorban. A legtöbb cikk kifejtette az interfész jelentését, mint «szerződés», amely tartalmaznia kell egy osztályt, hogy milyen tulajdonságokkal és módszerekkel rendelkezik. Például van egy interfész:

Ennek megfelelően, ha egy osztály megvalósítja ezt a felületet, tartalmaznia kell a végrehajtása a INT GetForecast módszer (Int érték) és a Size tulajdonság.

Az ilyen minimumszerződés gyakorlati értéke. Ha kidobja az interfészt a projektből, akkor minden csodálatos lesz és anélkül lesz. Az az, hogy teljesen átírja az osztály logikáját, majd az interfész segít abban, hogy ne felejtse el elfelejteni a szükséges módszereket.

Összefoglalva ezt a részt, ha bármelyik interfész csak egyetlen osztályban valósul meg, akkor ne pazarolja az időt. Csak nincs szüksége.

Kiegészítés
Közvetlenül a kiadvány után a tenger bírálta a tengert, először megpróbáltam válaszolni, de aztán rájöttem, hogy nincs értelme. Minden kritikus pihen, amit az előző bekezdésben írtak, és megpróbálok komplex példákat adni olyan projektekre, ahol sok osztály, mindenféle linkek oda-vissza, támogatják a csapatot és másokat. Valószínűleg tévedtem, hogy röviden összefoglalom az eredményt. De a lényeg az, hogy az interfész nem mindig szükséges. Ha személyes (vagy egyszerűen nem túl nagy) olyan projekt, amely nem tervezi a méretezést, amelyre senki sem utal, és ami a legfontosabb Sikeresen fut, A projekt interfészek bevezetése nem változik semmit. És ez nem szükséges történeteket, hogy valahol valaki egyszer végre a felület és szerzett halhatatlanság. Ha az interfész mindenütt szükséges volt, akkor az osztály szerves része lenne.

Ez egy cikk arról, hogyan használhatja az interfészt, hogy nem a projektek közötti köteg, hanem egy projekten belül. Ebben az alkalomban még nem volt kritika.

A kiegészítő vége

Szerencsére az interfész képessége sokkal érdekesebb. A felület lehet állítani egy általános jellemzője a heterogén tárgyak, és ez megnyitja hatalmas lehetőségeket része a kód rugalmasságot.

Tegyük fel például, hogy két osztályunk van:

és

Ezek két teljesen más osztály, de hadd legyen valami közös, t.E. Azt akarjuk, hogy egy módszert dolgozzon velük mind további logika nélkül is. Ebben az esetben tudjuk végrehajtani egy közös felületet, t.E. állapítsa meg ezen osztályok, mint a

és

Most már tudjuk, hogy egy általános módszert őket:

Amint láthatja, az értékváltozó megkapja a Getforecast funkció értékét az osztályból, amelyet paraméterként továbbít, anélkül, hogy további műveleteket hozna volna a típusok és t.Ns.

Egy másik példa, nem tudjuk előre, hogy milyen osztályra lesz szükségünk a számítástechnika során, de meg kell adnunk az osztály másolatát a munka előtt. Ebben az esetben kijelentheti az interfész megvalósításának egy példányát:

Még tovább is elmulhat, és az ilyen objektumok tömbjét (vagy listáját) jelölheti:

Ezután kiszámolhatja a méret összes tulajdonságának összegét:

Egy hirdetés az interfészen keresztül van egy hátrány: csak az interfészben bejelentett módszerek és tulajdonságok állnak rendelkezésre . Ha az osztályod öröklődik az alaptól, akkor a módszerek eléréséhez a típus típusát kell tennie:

Egy másik központi interfészekkel lehet ellenőrizni a képesség, hogy végre egy osztályban két interfészeket ugyanaz az aláírás, de a különböző módszerekkel. Nem tudom, hogy melyik lehet a gyakorlati felhasználás a már említettük, de ha hirtelen nincs elég fantázia, hogy jöjjön fel a funkciók nevével, akkor az interfészekbe teheted őket.

Például adjon hozzá egy másik interfészt a projektünkhöz:

És hozzon létre egy új osztályt, amely mindkét interfészet örökölte:

Ezt az interfész kifejezett végrehajtásának nevezik. Most építeni tudja ezt a designot:

Érdekes módon az ilyen interfészek végrehajtásakor a módszereket nem lehet hozzáférni a hozzáférési módosítóknak («nyilvánosnak» vagy valami másnak), de a típusak típusán keresztül nyilvánosságra hozhatók.

Ahogy láthatja, működik, de túlságosan nehézkesnek tűnik. Ahhoz, hogy valahogy javítsa a kódot, írhatsz egy kicsit másként:

;

A rossz és a jó a harmadik, de tartsa szem előtt különböző interfészeket. A szellem egyszer megtörténhet, majd ismételten használja az eredményét. Lehetséges, hogy egyes esetekben a kódot olvashatóbbá teszi.

Egy másik interfész alkalmazás a funkciók gyors gyártása.
Például a csapat építése egy nagy projektet, és az osztályod attól függ, hogy a kolléga írja. De még nem írt. A bölcs fej elkészítette az összes alaposztály interfészeit a projektfejlesztés első szakaszában, és most már nem várhat a kollégájára, hanem az osztályú osztályú dugó végrehajtására. T.E. ideiglenes osztály nem tartalmaz logikát, és csak úgy tesznek, mintha dolgozni: hívások fogadására és visszaút megfelelő értékeket. Ehhez már csak be kell végrehajtani ugyanazt a felületet, hogy a volt kollégája.

Project működik az összes cikkben szereplő példák itt található: link

Комментарии закрыты, но обратные ссылки и pingbacks ещё работают.