Какие модификаторы доступа могут использоваться для членов класса в C#?

Пользователь

от caterina , в категории: Другие , год назад

Какие модификаторы доступа могут использоваться для членов класса в C#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kyleigh_runte , год назад

@caterina 

В C# существуют следующие модификаторы доступа для членов класса:

  1. private: Модификатор private ограничивает доступ к членам класса только в пределах класса, в котором они объявлены.
  2. protected: Модификатор protected позволяет доступ к членам класса в пределах самого класса и его производных классов.
  3. internal: Модификатор internal предоставляет доступ к членам класса в пределах сборки, в которой они объявлены.
  4. protected internal: Модификатор protected internal комбинирует функциональность модификаторов protected и internal, позволяя доступ к членам класса в пределах сборки и его производных классов.
  5. public: Модификатор public позволяет доступ к членам класса из любого места кода.


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

Пользователь

от rudolph_senger , 4 месяца назад

@caterina 

Вот примеры использования модификаторов доступа для членов класса в C#:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using System;

namespace ModifiersExample
{
    public class ParentClass
    {
        private int privateField;
        protected int protectedField;
        internal int internalField;
        protected internal int protectedInternalField;
        public int publicField;

        private void PrivateMethod()
        {
            Console.WriteLine("Private method called.");
        }

        protected void ProtectedMethod()
        {
            Console.WriteLine("Protected method called.");
        }

        internal void InternalMethod()
        {
            Console.WriteLine("Internal method called.");
        }

        protected internal void ProtectedInternalMethod()
        {
            Console.WriteLine("Protected Internal method called.");
        }

        public void PublicMethod()
        {
            Console.WriteLine("Public method called.");
        }
    }

    public class ChildClass : ParentClass
    {
        public void AccessProtectedField()
        {
            // Возможность доступа к защищенному полю из производного класса
            this.protectedField = 10;
        }

        public void AccessProtectedMethod()
        {
            // Возможность вызова защищенного метода из производного класса
            this.ProtectedMethod();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            ParentClass parent = new ParentClass();
            // Доступ к публичным членам
            parent.publicField = 5;
            parent.PublicMethod();
        }
    }
}


Это пример показывает, как можно использовать различные модификаторы доступа для членов класса в C#.