Modifikátory přístupu (nazývané také pravidla pro určování rozsahu) určují, jaký kód může získat přístup k prvku - tj. Jaký kód má oprávnění ke čtení nebo zápisu do něj. V předchozích verzích jazyka Visual Basic existovaly tři typy tříd. Ty byly přeneseny do .NET. V každém z nich .NET umožňuje přístup pouze ke kódu:
- Soukromé - v rámci stejného modulu, třídy nebo struktury.
- Přítel - ve stejné sestavě.
- Veřejné - kdekoli ve stejném projektu, od jiných projektů, které odkazují na projekt, a od jakékoli sestavy postavené z projektu. Jinými slovy, jakýkoli kód, který jej najde.
VB.NET přidal také jeden a půl nových.
- Chráněný
- Chráněný přítel
„Polovina“ je proto, že chráněný přítel je kombinací nové třídy chráněného a staré třídy přátel.
Modifikátory chráněného a chráněného přítele jsou nezbytné, protože VB.NET implementuje poslední požadavek OOP, který chyběl VB: Dědictví.
Před VB.NET by nadšení a pohrdaví programátoři C ++ a Java věnovali VB, protože podle nich „nebyla plně objektově orientována“. Proč? Předchozí verze postrádaly dědičnost. Dědičnost umožňuje objektům sdílet jejich rozhraní a / nebo implementaci v hierarchii. Jinými slovy, dědičnost umožňuje jeden softwarový objekt, který přebírá všechny metody a vlastnosti jiného.
Tomu se často říká vztah „je-a“.
- Kamion „je“ vozidlo.
- Čtvercový tvar „je“.
- Pes je „savec“.
Myšlenka je taková, že obecnější a široce používané metody a vlastnosti jsou definovány jako „nadřazené“ třídy a ty jsou specifičtější v „podřízených“ třídách (často nazývaných podtřídy). „Savec“ je obecnější popis než „pes“. Velryby jsou savci.
Velkou výhodou je, že si můžete uspořádat svůj kód, takže musíte psát pouze kód, který dělá něco, co mnoho objektů musí udělat jednou v rodiči. Všichni „zaměstnanci“ musí mít přiděleno „číslo zaměstnance“. Konkrétnější kód může být součástí podřízených tříd. Klíč zaměstnanců musí mít přiřazen pouze zaměstnanec, který pracuje v kanceláři.
Tato nová schopnost dědičnosti však vyžaduje nová pravidla. Pokud je nová třída založena na staré, je chráněný modifikátor přístupu, který odráží tento vztah. K chráněnému kódu lze přistupovat pouze ze stejné třídy nebo ze třídy odvozené od této třídy. Nechcete, aby klíče od dveří zaměstnanců byly přiřazeny nikomu kromě zaměstnanců.
Jak bylo uvedeno, chráněný přítel je kombinací přístupu obou přátel a chráněných. K prvkům kódu lze přistupovat buď z odvozených tříd nebo z téže sestavy nebo z obou. Chráněného přítele lze použít k vytváření knihoven tříd, protože kód, který přistupuje k vašemu kódu, musí být ve stejné sestavě.
Ale přítel má také přístup, tak proč byste měli používat chráněného přítele? Důvod je ten, že přítele lze použít ve zdrojovém souboru, Jmenný prostor, Rozhraní, Modul, třída nebo struktura. Chráněného přítele však lze použít pouze ve třídě. Chráněný přítel je to, co potřebujete pro vytváření vlastních knihoven objektů. Přítel je jen pro obtížné situace kódu, kde je opravdu vyžadován široký přístup k montáži.