A Python beágyazásának áttekintése

A beágyazás az objektum-orientált programozás négy alapelvének egyike. Ha szükség van az adatok csoportosítására, és az azt követő szubrutinokra, amelyek együtt működnek és működnek egy helyen, valamint a komplex részletek elrejtésének szükségességétől a felhasználótól, a beágyazás segítségével megértjük az „Encapsulation in Python” mélyebb merülést és megértést. hogyan kerül az Encapsulation a képbe egy programozási nyelven. A beágyazás segíti a módszerekhez és a változókhoz való hozzáférés korlátozását. Az adatok véletlen módosításainak megakadályozása, és ezt a nem nyilvános példányváltozó és nem nyilvános példányváltozó módszerekkel érjük el. Az osztály összefoglalja a módszereket és a változókat.

Mangling név Pythonban

A Python korlátozza az adatokhoz való hozzáférést. Nincsenek explicit hozzáférési módosítók, de a hozzáférést a Python Név Mangling segítségével vezérelhetjük. Alapértelmezés szerint minden módszer és változó nyilvános a Pythonban. Tehát ha bármelyik azonosítónak két vezető aláhúzása van, akkor a Python nem nyilvános példányá válik. Itt meghatároznánk a nem nyilvános példányváltozókat és módszereket, hogy jobban megértsük a kapszulázást. A nem nyilvános példány metódusa csak a saját osztályán belül helyezkedik el, és egy aláhúzással vagy két aláhúzással kezdődik, azaz egyetlen „_” vagy „__” kettős változó vagy módszer elõtt. A nem nyilvános példányváltozó hatóköre szintén a saját osztályában vagy a meghatározási módszer szerint tartozik, és két aláhúzással kezdődik. Ha kimaradunk a két aláhúzásról, akkor ezt a módszert nyilvános módszernek tekintjük. Mielőtt megértjük a Python beágyazását, meg kell értenünk, hogy a nyilvános és a nem nyilvános példányváltozók és módszerek hogyan működnek.

Nem nyilvános példányváltozók

A Pythonban nincs olyan kifejezés, mint a „magán”, mivel a attribútum nem igazán privát a Pythonban (A mögöttes alternatívát a cikk késõbb tárgyaljuk). Ehelyett nem nyilvános példányváltozónak nevezzük őket. Így utalhatnánk a magánváltozókra és a privát módszerekre.

Íme egy kis kódrészlet a python-ban lévő kódról a nem nyilvános példányváltozókra:

Az ön kulcsszót használjuk, mert hozzáférünk az osztályváltozóhoz. A kimenet:

A nem nyilvános példányváltozó hatókörének megerősítésének beolvasásához hozzáadjuk a print (abc .__ a) kódot:

És a kimeneti eredmény:

Így látjuk, hogy nem használhatunk nem nyilvános példányváltozókat az osztályon kívül.

Nem nyilvános példák módszerei

Nem nyilvános példány funkció nem hívható meg közvetlenül az objektumon, hanem csak az osztályon belül.

Ebben a kódrészletben két módszer van, egy nem nyilvános példány, és egy másik nyilvános módszer. A nyilvános módszert könnyen meg lehet hívni az abc osztály objektumának létrehozásával, majd a kiadása kinyomtatásra kerül.

Amikor hasonló megközelítést próbálunk ki a nem nyilvános példány módszerére, a következő hibával szembesülünk:

Ez a program a következő kimenetet fogja előállítani:

Ezért objektumok létrehozásával nem lehet hozzáférni egy nem nyilvános példány módszerre. A nem nyilvános példány módszer eléréséhez meghívhatjuk az __show1 () metódust ugyanazon osztály show2 () módszerével. Így jeleníthetjük meg a nem nyilvános példány módszerét ugyanazon osztály nyilvános módszeréből.

Kimenet:

Ezért a nem nyilvános példány módszerét nem lehet osztályán kívül megnevezni.

A nem nyilvános példányváltozó elérésének közvetett módja

Jogos okokból a nem nyilvános példányváltozók nem érhetők el az osztályon kívül, de közvetett módon módosíthatjuk a nem nyilvános példányváltozó értékét és az objektumokhoz való hozzáférést. Vessen egy pillantást az alábbi kódrészletre:

Kimenet:

A fenti programban vannak getNumber (saját, szám) és displayNumber () nyilvános módszerek és egy nem nyilvános példányváltozó. Az első módszer meghívásakor az értéket hozzárendeljük a nem nyilvános példányváltozóhoz, és ezt a displayNumber () módszerben hívják.

A setter metódust használják a nem nyilvános példányváltozó értékének beállításához. Ez hasznos a forgatókönyvekben, amikor érdemes megváltoztatni egy nem nyilvános példányváltozó értékét egy objektum létrehozása után egy adott változóhoz.

A beágyazás előnyei a Pythonban

A beágyazás segíti a jobb adatáramlás kialakítását és az adatok védelmét. A beágyazás fogalma a kódot önellátóvá teszi. A beágyazás nagy segítséget nyújt a megvalósítás szintjén, mivel elsősorban a „hogyan” kérdésre összpontosít, mikor hagyja el a komplexumot „mikor / hol” és annak komplexitásait. Az adatok elrejtése az egységbe megkönnyíti a beágyazást és az adatok biztonságát is.

Miért van szükség a beágyazásra a Pythonban?

Az alábbiakban felsorolunk néhány olyan indokot, amelyek miatt a fejlesztők miért hasznosnak találják a beágyazás fogalmát, és miért az objektum-orientált koncepciók uralkodnak a legtöbb jelenlegi forgatókönyvben futó programozási nyelvnél.

  • Minden alkalmazásban jól definiált interakcióra van szükség, a kapszulák segítenek ennek elérésében.
  • Az objektum-orientációs programozás fogalma a pythonban az újrafelhasználható kód készítésére összpontosít. Ezt rövidítik a DRY (Ne ismételje meg önmagát) néven.
  • Az alkalmazás karbantartása könnyebb és a biztonság garantált.
  • A kódolási eljárás egyértelműsége, mivel a fejlesztőknek az osztály célját kell figyelembe venniük, és a komplexitásokkal szisztematikusan foglalkozni kell.
  • A kódok megfelelő szervezése elősegíti a kód rugalmasságát, és elősegíti az egység tesztelését.
  • A felhasználók számára a rendszer használata egyszerű, mivel el vannak rejtve a háttér összetett tervezésétől.
  • Az összes hasonló adat egy helyen történő elhelyezése és beágyazása növeli a moduláció kohézióját.
  • Javítja a kódok olvashatóságát, és a kód egyik részében végrehajtott változások nem zavarják a kód többi részét.
  • A beágyazás megakadályozza a kód egy részének véletlenszerű elérését, de nem szándékosan, mivel az objektumok az alkalmazások számára kritikus adatokat tárolnak, és azt a kód bárhol meg kell változtatni.

Következtetés - beágyazás a Pythonba

Egyszerűbben fogalmazva: a beágyazás Python-ba azt jelenti, hogy egy objektum belső ábrázolása általában el van rejtve az objektum meghatározásától eltérő nézetből. Ez elősegíti a fejlesztő számára, hogy felhasználóbarát élményt teremtsen a végfelhasználó számára, és védelmet élvez a biztonság megsértése ellen, mivel a kódokat biztonságossá teszik.

Ajánlott cikkek

Ez egy útmutató a Python beágyazódásához. Itt megvitatjuk a pythonba történő beágyazás igényeit, valamint annak nem nyilvános példányváltozóit és példánymódszereit. A következő cikkeket is megnézheti további információkért -

  1. Mi a Python?
  2. A Python objektum-orientált
  3. Minták Pythonban
  4. Hogyan lehet beágyazni a C ++ -ot?
  5. Beágyazás a Java - ba Példák
  6. Beágyazás a C-be (működés, példák)
  7. Bevezetés a beágyazásba a JavaScript-ben

Kategória: