Професионална програма
Loading...
t.316 avatar t.316 137 Точки

[Access Modifiers] Internal

Здравейте!

От първата лекция от курса по ООП разбрах, че ако не се зададе изрично access modifier по подразбиране е internal.

Въпросът ми е защо като задам internal на дадена променлива тя е достъпна за другите класове от проекта, а ако не задам access modifier не е. До колкото разбрах от лекцията няма значение дали ще бъде написано internal или не.

Тагове:
0
C# OOP Basics
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Напротив има значение:

http://stackoverflow.com/a/2521492

За class ако не си задал access modifier той е internal по default. За Class members (field, property, method) обаче е private.

Препоръката ми е винаги да си пишеш access modifier-ите. Причината е, че в различните езици default-ните се различават и по този начин ако някой ти чете кода няма да се обърка, ако досега не е писал на C#. Освен това ако след време започнеш да пишеш на друг език няма си създаваш главоболия да се чудиш защо нещо не ти работи.

 

4
19/11/2015 15:58:43
t.316 avatar t.316 137 Точки

Знам, че трябва винаги да се пишат просто си играх с тях за да видя точно как работи всяки един.

Бях останал с впечетление, че полетата по подразбиране са internal. Това, че са private обеснява всичко.

Благодаря ти!

0