Учебники

11) Модификаторы доступа C # (Спецификаторы)

В этом уроке вы узнаете

Модификаторы доступа

Модификаторы доступа или Спецификаторы доступа используются для определения видимости свойства или метода класса. Есть моменты, когда вы не хотите, чтобы другие программы видели свойства или методы класса. В таких случаях C # дает возможность добавлять модификаторы к свойствам и методам класса. Модификаторы класса могут ограничивать доступ, чтобы другие программы не могли видеть свойства или методы класса.

Существует 3 типа модификаторов доступа. Они объяснены ниже.

Частный

Когда этот спецификатор доступа присоединен либо к свойству, либо к методу, это означает, что к этим элементам нельзя получить доступ из любой внешней программы.

Давайте рассмотрим пример и посмотрим, что происходит, когда мы используем модификатор частного доступа.

Давайте изменим текущий код в нашем файле Tutorial.cs. В методе SetTutorial давайте изменим ключевое слово public на private.

Класс C # и Объект

Теперь перейдем к нашему файлу Program.cs. Вы заметите, что под методом SetTutorial есть красная волнистая линия.

Поскольку теперь мы объявили метод SetTutorial как закрытый в нашем классе Tutorial, Visual Studio обнаружила это. Он сказал пользователю, выделив его, что теперь этот метод не будет работать из файла Program.cs.

Класс C # и Объект

общественного

Когда этот модификатор доступа присоединен либо к свойству, либо к методу, это означает, что к этим членам можно получить доступ из любой внешней программы. Мы уже видели это в наших предыдущих примерах.

Класс C # и Объект

Поскольку мы определили наши методы как общедоступные в классе Tutorial, к ним можно получить доступ из файла Program.cs.

защищенный

Когда этот модификатор доступа присоединен либо к свойству, либо к методу, это означает, что к этим членам могут обращаться только классы, унаследованные от текущего класса. Это будет объяснено более подробно в классе Inheritance.

Конструктор C #

Конструкторы используются для инициализации значений полей классов при создании соответствующих им объектов. Конструктор — это метод, имя которого совпадает с именем класса. Если в классе определен конструктор, он предоставит первый метод, который вызывается при создании объекта. Предположим, у нас был класс с именем Employee. Метод конструктора также будет называться Employee ().

Следующие ключевые вещи должны быть отмечены о методах конструктора

  1. Модификатор доступа для конструктора должен быть общедоступным.
  2. Для метода конструктора не должно быть возвращаемого типа.

Давайте теперь посмотрим, как мы можем включить пользователя конструкторов в наш код. Мы будем использовать конструкторы для инициализации полей TutorialID и TutorialName некоторыми значениями по умолчанию при создании объекта.

Шаг 1) Первый шаг — создать конструктор для нашего класса Tutorial. На этом этапе мы добавляем приведенный ниже код в файл Tutorial.cs.

Класс C # и Объект

Объяснение кода: —

  1. Сначала мы добавляем новый метод, имя которого совпадает с именем класса. Поскольку это имя совпадает с именем класса, C # рассматривает его как метод конструктора. Поэтому теперь, когда вызывающий метод создает объект этого класса, этот метод будет вызываться по умолчанию.
  2. В конструкторе Tutorial мы устанавливаем значение TutorialID равным 0, а TutorialName — значение по умолчанию. Таким образом, всякий раз, когда объект создается, эти поля всегда будут иметь эти значения по умолчанию.

Теперь давайте переключимся на наш файл Program.cs и просто удалим строку, которая вызывает метод SetTutorial. Это потому, что мы хотим просто посмотреть, как работает конструктор.

Класс C # и Объект

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(); 
  }
 }
}

Объяснение кода: —

  1. Первым шагом является создание объекта для класса Tutorial. Это делается с помощью ключевого слова «новый».
  2. Мы используем метод GetTutorial класса Tutorial, чтобы получить TutorialName. Затем это отображается на консоли с помощью метода Console.WriteLine.

Если вышеуказанный код введен правильно и программа выполнена, будет отображен следующий вывод.

Вывод:

Класс C # и Объект

Из выходных данных мы видим, что конструктор действительно был вызван и что значение TutorialName было установлено в «По умолчанию».

Примечание. Здесь значение «default» выбирается из конструктора.

Резюме

  • Модификаторы доступа или Спецификаторы доступа используются для определения видимости свойства или метода класса.
  • Конструктор используется для инициализации полей класса при каждом создании объекта.
  • Конструктор — это метод, имя которого совпадает с именем самого класса.