Почему вместо уровня объекта есть модификаторы доступа на уровне класса?
Во время использования C # я недавно понял, что могу вызватьFoo
объект»частные функции от 'Foo
S статических функций, и даже от другихFoo
объекты. После всего, что я узнал о модификаторах доступа, это звучит очень странно для меня.
Насколько я знаю, вы делаете функцию приватной, когда она делает что-точасть какого-то внутреннего процесса. Только сам объект знает, когда использовать эти функции, потому что другие объекты не должныт / может»управлять объектомпоток. Есть ли причина, по которой другие объекты того же класса должны быть исключены из этого довольно простого правила?
Согласно запросу, пример: я
public class AClass {
private void doSomething() { /* Do something here */ }
public void aFunction() {
AClass f = new AClass();
f.doSomething(); // I would have expected this line to cause an access error.
}
}