Barát és Védett barát a VB.NET-ben

click fraud protection

A hozzáférés-módosítók (más néven a kiterjesztési szabályok) meghatározzák, hogy melyik kód férhet hozzá egy elemhez, azaz hogy melyik kód engedélyezi annak olvasását vagy írását. A Visual Basic korábbi verzióiban három osztálytípus létezett. Ezeket átvitték a .NET-be. A .NET mindegyikben csak a kódhoz fér hozzá:

  • Privát - ugyanazon modulon, osztályon vagy struktúrán belül.
  • Barát - ugyanabban az egységben.
  • Nyilvános - ugyanazon projekt bármely pontján, a projektet hivatkozó egyéb projekteknél és a projektből épített összeszerelésben. Más szavakkal, bármilyen kód, amely megtalálja.

VB.NET másfél új újat is hozzáadott.

  • Védett
  • Védett barát

A "fele" azért van, mert a Védett barát az új védett osztály és a régi barát osztály kombinációja.

A Védett és a Védett barát módosítói szükségesek, mivel a VB.NET végrehajtja a VB hiányzó utolsó OOP követelményét: Öröklés.

A VB.NET-et megelőzően, a szokatlan és megvető C ++ és Java programozók megtévesztik a VB-t, mivel szerintük "nem volt teljesen objektumorientált". Miért? A korábbi verziók nem öröklődtek. Az öröklés lehetővé teszi az objektumok számára, hogy hierarchiában megosszák interfészeiket és / vagy megvalósításukat. Más szavakkal: az öröklés lehetővé teszi az egyik szoftverobjektum számára, amely átveszi a másik összes módszerét és tulajdonságát.

instagram viewer

Ezt gyakran "van-egy" kapcsolatnak nevezik.

  • A teherautó "egy" jármű.
  • Egy négyzet alakú "van-egy" alakú.
  • A kutya "egy" emlős.

Az ötlet az, hogy az általánosabb és széles körben alkalmazott módszereket és tulajdonságokat a "szülő" osztályok határozzák meg, és ezeket a "gyermek" osztályokban (gyakran alosztályoknak nevezik) pontosítják. A "emlős" általánosabb leírás, mint a "kutya". A bálnák emlősök.

A nagy előnye az, hogy meg tudja szervezni a kódját, így csak olyan kódot kell írnia, amely valami olyat tesz, amit sok objektumnak egyszer meg kell tennie a szülőben. Minden "alkalmazottnak" egy "alkalmazott számot" kell kapnia. A pontosabb kód része lehet a gyermekóráknak. Csak az általános irodában dolgozó alkalmazottak számára kell hozzárendelni a munkavállalói ajtókártyát.

Az öröklés ezen új képessége azonban új szabályokat igényel. Ha egy új osztály egy régi osztályon alapul, akkor a Protected egy hozzáférési módosító, amely tükrözi ezt a kapcsolatot. A védett kód csak ugyanabba az osztályba, vagy az osztályból származtatott osztályból érhető el. Nem akarja, hogy az alkalmazottak ajtókártyájának kulcsait az alkalmazottak kivételével bárkihez rendeljék.

Mint megjegyeztük, a Védett barát egyaránt a barát és a védett hozzáférés kombinációja. A kódelemek származtatott osztályokból vagy ugyanabból a csoportból, vagy mindkettőből érhetők el. A Védett barát felhasználható osztályok könyvtárainak létrehozására, mivel csak a kódot elérő kódnak ugyanabban az összeállításban kell lennie.

De a Friend is rendelkezik ezzel a hozzáféréssel, miért használná a Védett barátot? Ennek oka az, hogy a Friend felhasználható egy forrásfájlban, névtér, Interfész, Modul, osztály vagy szerkezet. A Védett barátot azonban csak egy osztályban lehet használni. A védett barát az, amire szüksége van saját objektumkönyvtárainak létrehozásához. A Friend csak a nehéz kódhelyzetekhez, ahol valóban szükséges az összeszereléshez való széles hozzáférés.

instagram story viewer