Приятел и защитен приятел във VB.NET

Модификаторите на достъп (наричани още правила за определяне на обхвата) определят какъв код може да получи достъп до даден елемент - тоест какъв код има разрешение да го чете или пише. В предишните версии на Visual Basic имаше три типа класове. Те са пренесени към .NET. Във всяко от тях. .NET позволява достъп само до код:

  • Частно - в рамките на един и същ модул, клас или структура.
  • Приятел - в рамките на едно и също събрание.
  • Публично - навсякъде в един и същ проект, от други проекти, които се отнасят за проекта, и от всяка монтажна конструкция, изградена от проекта. С други думи, всеки код, който може да го намери.

VB.NET е добавил и един и половина нови.

  • Защитена
  • Защитен приятел

„Половината“ е, защото Protected Friend е комбинация от новия клас Protected и стария клас Friend.

Модификаторите на Protected and Protected Friend са необходими, защото VB.NET изпълнява последното изискване за OOP, че VB липсва: наследяване.

Преди VB.NET превъзходните и пренебрежителни програмисти на C ++ и Java биха омаловажили VB, тъй като според тях той не е напълно обектно ориентиран. Защо? В предишните версии липсваше наследство. Наследяването позволява на обектите да споделят своите интерфейси и / или реализация в йерархия. С други думи, наследяването прави възможно за един софтуерен обект, който поема всички методи и свойства на друг.

instagram viewer

Това често се нарича връзка "е-а".

  • Камион "е-а".
  • Квадратна "е-а" форма.
  • Куче "е-а" бозайник.

Идеята е, че по-общите и широко използвани методи и свойства са дефинирани "родителски" класове и те са направени по-специфични в "детски" класове (често наричани подкласове). „Бозайник“ е по-общо описание от „куче“. Китовете са бозайници.

Голямата полза е, че можете да организирате кода си, така че трябва да напишете код, който прави нещо, което много обекти трябва да направят веднъж в родителя. Всички "служители" трябва да имат присвоен "номер на служителя". По-конкретен код може да бъде част от детските класове. Само служителите, които работят в общия офис, трябва да имат назначен ключ за вратата на служителя.

Тази нова способност за наследяване обаче изисква нови правила. Ако нов клас се основава на стар, Protected е модификатор на достъп, който отразява тази връзка. Защитеният код може да бъде достъпен само от един и същ клас или от клас, получен от този клас. Не искате ключовете за картите на вратите на служителите да се задават на никого, освен на служителите.

Както бе отбелязано, Защитеният приятел е комбинация от достъп както на Приятел, така и на Защитени. Кодовите елементи могат да бъдат достъпни или от производни класове, или от една и съща група, или и от двете. Защитеният приятел може да се използва за създаване на библиотеки от класове, тъй като кодът, който осъществява достъп до кода ви, трябва да бъде само в едно и също сглобяване.

Но Friend също има този достъп, така че защо да използвате Защитена приятел? Причината е, че Friend може да се използва във изходен файл, Именно пространство, Интерфейс, Модул, клас или структура. Но Protected Friend може да се използва само в клас. Защитеният приятел е това, което ви е необходимо за изграждането на вашите собствени обектни библиотеки. Friend е просто за трудни кодови ситуации, при които наистина е необходим широк достъп до сглобяване.

instagram story viewer