Tudd Intuíció, előadás, módszerek alapfogalmak

Módszerek: Basic Concepts. Túlterhelés módszerek.

Módszerek: Basic Concepts

Módszer - funkcionális eleme a osztályt, amely megvalósítja a számítást vagy más intézkedéseket kell tenni, vagy egy osztály például (objektum). Módszer egy teljes kódrészletet, amely elérhető a nevét. Leírta egy időben, és nevezhetjük többször. Egy sor osztály módszerek meghatározza, hogy mit lehet konkrétan tenni osztályban. Például egy standard class Math módszereket tartalmaz, amelyek lehetővé teszik, hogy kiszámítja az értékeket matematikai függvényt.

  1. Az attribútumok és spetsifiktory opcionális elemek a módszer szintaxis leírását. Ebben a szakaszban az attribútumok nem fogunk használni, és az összes selejtező szükségképpen fogja használni a tervező statikus. amely lehetővé teszi a hozzáférést osztály módszer létrehozása nélkül egy példányát.

Megjegyzés .Ostalnye előírást lesz szó az „osztály”.

  • Tip_vozvraschaemogo_rezultata meghatározza a visszatérési típus a módszer. Ez lehet bármilyen típusú, beleértve a típusú osztályok által generált programozó. Ha a módszer nincs visszatérési értéke, akkor meg kell adni a void típusú (ebben az esetben a szervezet a módszer hiányzik egy return utasítást).
  • Metódusát - ID által meghatározott programozó, hogy megfeleljen a követelményeknek rótt az azonosítókat a C #, kivéve azokat használni más programelemek a jelenlegi hatálya alá.
  • -list sorozata pár álló adatok típus azonosítót és vesszővel elválasztva. Options - olyan változókat, konstansokat, melyek értéke át a meghívott metódus. Ha a módszer nincsenek paraméterei, akkor lista üres marad.
  • Érték határozza meg a visszaadott érték módszerével. A típusnak meg kell egyeznie vagy tipu_vozvraschaemogo_rezultata adott hozzá.
  • Vegyünk egy egyszerű példát a módszer:

    A dan például Func módszer nem közvetít semmilyen értéket, így a paraméter lista üres. Ezenkívül ez az eljárás nem ad vissza semmit, így a visszatérő típusú semmis. Alapvetően a fő módszer, hívtuk a módszer Func kétszer. Ha szükséges, ez a módszer is okozhat annyi időt, amennyire szüksége van, hogy megoldja a problémát.

    Megbízásokat.
    1. Add a Fő módszere a harmadik hívás Func módszer.
    2. Alakítsa át a programot úgy, hogy a funk módszer az úgynevezett n-szer.

    Módosíthatja az eredeti példát továbbítja az x értékét is. és az eljárás visszatér y.

    Ebben a példában Func eljárás magában foglalja a x paraméter. típusú kettős. Ahhoz, hogy visszatérjen a Func eljárás meghívja a módszert Main kifejezés értéke 1 / x (amelynek típusa dupla), mielőtt a neve a módszer azt jelzi, a visszatérési típus - kettős. és a szervezetben a módszert a vezérlő átviteli üzemeltető - visszatérés. bevallásának végződik eljárás végrehajtását, és átadja a vezérlést az pont az ő hívást.

    Megbízásokat. Átalakítani a programot, hogy az eljárás visszatér Func kifejezést:
    1. x 2;

    Tekintsük egy másik példa:

    Ebben a példában Func eljárás két összetett paraméter - x. y. és ennek eredményeként az eljárás visszatér a legnagyobb közülük. Lépésben módszer leírását (1. sor), a hivatalos paraméterek lépésben jelzett hívás (2. vonal) a módszer továbbítjuk az aktuális paraméterek, hogy milyen mennyiségű és típusú egybeesik a formális paraméterek. Ha a szám a tényleges és formális paraméterek más lesz, a fordító kiad egy hibaüzenetet. Ha a paraméterek különböző típusú, a fordító megpróbálja végrehajtani egy implicit típusú átalakítás. Ha egy implicit konverzió nem lehetséges, akkor is hibát generál.

    Felhívjuk figyelmét, hogy ha hívja a módszer funk beágyazott egy hívást egy másik.

    Feladat. Alakítsa át a programot úgy, hogy a módszer Func találtam a legnagyobb érték a négy szám: a, b, c, d. Funk módszer nem változik.

    Általában a paramétereket használjuk közötti információcserét a hívó és a hívott eljárások. C # megosztás négyféle paramétereket: a paraméterek értékeit, a paraméterek linkek, kimeneti paramétereket, a paraméterek tömbök.

    Amikor át a paraméter érték módszer kap egy példányt a paraméterek és az üzemeltetők a módszerek ugyanis ezeket a másolatokat. Hozzáférés az eredeti értékeket a paraméterek a módszer nem, ezért nincs lehetőség megváltoztatni őket.

    Megjegyzés. Az összes példa a fent tárgyalt, használtuk fel a az adatok továbbítását érték.

    Vegyünk egy kis példa:

    Ebben a példában a módszer Func formális paraméter y és a megfelelő aktuális paraméter b fő módszer jelöltük specifikáló ki. Ezért az érték b hívni funk módszer nem tudta meghatározni, de a változó paraméter y tükröződik a változás a paraméter b.

    Megjegyzés. Tömb paraméterek később tárgyaljuk.

    módszer túlterhelés

    Néha kényelmes módszerek, amelyek megvalósítják ugyanazt az algoritmust a különböző adattípusok ugyanaz a neve. Több módszer használatával az azonos nevű, de különböző típusú és számú paraméterek úgynevezett túlterhelés .Kompilyator meghatározza módszerek, amelyek a módszer a hívni kívánt szerint a típusát és az aktuális paraméterek száma.

    Tekintsük a következő példát:

    Amikor hívja max fordító kiválasztja az opciót típusának megfelelő, és az átadott argumentumok száma a módszert. Ha pontos egyezést nem talál, az implicit típusú átalakítások összhangban végzik az általános szabályokat. Ha a konverzió nem lehetséges, akkor egy hibaüzenet. Ha a kiválasztás egy túlterhelt módszer lehetséges több mint egy út, a kiválasztott „legjobb” kiviteli alakjának (tartalmazó kisebb mennyiségű és hossza összhangban változik a típusú átváltási szabályok). Ha több lehetőség közül lehetetlen kiválasztani a legjobb, akkor kap egy hibaüzenetet.

    Módszer túlterhelése megnyilvánulása polimorfizmus. Az egyik fő tulajdonságait OOP. Programozó sokkal könnyebb megjegyezni egy nevet a módszer, és ez alapján működjenek együtt a különböző adattípusok, és a döntést, hogy melyik verzió a módszer hívás, hozzárendelni a fordító. Ezt az elvet széles körben használják a .NET osztály könyvtár. Például egy standard osztályban konzol WriteLine nevû módszert túlterhelt 19-szer, hogy megjelenítse a különféle típusaira.

    Kapcsolódó cikkek