Модифікатори доступу (специфікатори) у C# з прикладами програм
Що таке модифікатор доступу (специфікатор) у C#?
Модифікатори доступу або Специфікатори доступу в C# – це ключові слова, які використовуються для визначення видимості властивості або методу класу. Він використовується, коли ви не хочете, щоб інші програми бачили властивості або методи класу. Модифікатори доступу обмежують доступ, щоб інші програми не могли бачити властивості або методи класу.
У C# є 6 типів модифікаторів доступу:
- приватний
- громадськості
- захищений
- Внутрішній
- Захищений внутрішній
- Приватна охорона
Ми дізнаємося про основні модифікатори доступу в C# з прикладами програм, як пояснено нижче.
Модифікатори приватного доступу в C#
Коли модифікатор приватного доступу додається до властивості або методу, це означає, що до цих учасників неможливо отримати доступ із жодної зовнішньої програми.
Приклад модифікатора приватного доступу
Давайте візьмемо приклад і подивимося, що відбувається, коли ми використовуємо модифікатор приватного доступу.
Давайте змінимо поточний код у нашому файлі Tutorial.cs. У методі SetTutorial давайте змінимо ключове слово public на private.
Тепер давайте перейдемо до нашого файлу Program.cs. Ви помітите, що під методом SetTutorial є червона хвиляста лінія.
Оскільки ми зараз оголосили метод SetTutorial як приватний у нашому класі Tutorial, Visual Studio це виявила. Він повідомив користувача, виділивши його, що тепер цей метод не працюватиме з файлом Program.cs.
Модифікатори публічного доступу C#
Коли модифікатор публічного доступу додається до властивості або методу, це означає, що до цих членів можна отримати доступ із будь-якої зовнішньої програми. Ми вже бачили це в наших попередніх прикладах.
Приклад модифікатора публічного доступу
Оскільки ми визначили наші методи як публічні в класі Tutorial, до них можна отримати доступ із файлу Program.cs.
Модифікатори захищеного доступу в C#
Коли модифікатор захищеного доступу додається до властивості або методу, це означає, що до цих членів можуть отримати доступ лише класи, успадковані від струму клас. Це буде пояснено більш детально в класі Inheritance.
Внутрішні модифікатори доступу C#
Коли внутрішній модифікатор доступу додається до властивості або методу, до цих членів може отримати доступ лише внутрішня програма, але не зовнішня програма.
Конструктор C#
C# Конструктори використовуються для ініціалізації значень полів класу під час створення відповідних об’єктів. Конструктор - це метод, який має таке ж ім'я, як і клас. Якщо в класі визначено конструктор, він надасть перший метод, який викликається під час створення об’єкта. Припустімо, якби у нас був клас під назвою Employee. Метод конструктора також називатиметься Employee().
Необхідно звернути увагу на наступні ключові речі щодо методів конструктора
- Модифікатор доступу C# за замовчуванням для конструктора потрібно зробити загальнодоступним.
- Для методу конструктора не повинно бути типу повернення.
Приклад конструктора C#
Давайте тепер подивимося, як ми можемо включити користувача конструкторів у наш код. Ми будемо використовувати конструктори для ініціалізації полів TutorialID і TutorialName до деяких значень за замовчуванням під час створення об’єкта.
Крок 1) Першим кроком є створення конструктора для нашого класу Tutorial. На цьому кроці ми додаємо наведений нижче код до файлу Tutorial.cs.
Пояснення коду: -
- Спочатку ми додаємо новий метод, який має таке ж ім’я, як і у класу. Оскільки це те саме ім’я, що й клас, C# розглядає це як метод конструктора. Отже, тепер щоразу, коли викликаючий метод створює об’єкт цього класу, цей метод буде викликатися за замовчуванням.
- У конструкторі посібника ми встановлюємо значення TutorialID на 0 і TutorialName на «Default». Отже, щоразу, коли створюється об’єкт, ці поля завжди матимуть значення за замовчуванням.
Тепер давайте перейдемо до нашого файлу Program.cs і просто видалимо рядок, який викликає метод SetTutorial. Це тому, що ми просто хочемо побачити, як працює конструктор.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Tutorial { public int TutorialID; public string TutorialName; public Tutorial() { TutorialID=0; TutorialName="Default"; } public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Tutorial pTutor=new Tutorial(); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Пояснення коду: -
- Першим кроком є створення об’єкта для класу Tutorial. Це робиться за допомогою ключового слова "нове".
- Ми використовуємо метод GetTutorial класу Tutorial, щоб отримати TutorialName. Потім це відображається на консолі за допомогою методу Console.WriteLine.
Якщо наведений вище код введено належним чином і програма виконана, буде показано наступний вихід.
вихід:
З результату ми бачимо, що конструктор справді був викликаний і що значення TutorialName було встановлено на «Default».
Примітка: Тут значення «default» витягується з конструктора.
Підсумки
- Модифікатори доступу або специфікатори доступу C# використовуються для визначення видимості властивості або методу класу.
- Коли модифікатор приватного доступу додається до властивості або методу, це означає, що до цих учасників неможливо отримати доступ із жодної зовнішньої програми.
- Коли модифікатор публічного доступу додається до властивості або методу, це означає, що до цих членів можна отримати доступ із будь-якої зовнішньої програми.
- Коли модифікатор захищеного доступу додається до властивості або методу, це означає, що до цих членів можуть отримати доступ лише класи, успадковані від поточного класу.
- Коли внутрішній модифікатор доступу додається до властивості або методу, до цих членів може отримати доступ лише внутрішня програма, але не зовнішня програма.
- Конструктори C# використовуються для ініціалізації значень полів класу під час створення відповідних об’єктів.