Вопросы по теме 'access-modifiers'

Есть ли способ сделать значение доступным только для родителя вложенного класса VB.NET?
В целом, согласно парадигме ООП, мое понимание инкапсуляции в основном говорит: Если член является закрытым, доступ к нему может получить только класс. Если член защищен, к нему может получить доступ только базовый класс и любые производные...
561 просмотров

Лучшая практика использования модификаторов доступа в C# и Java
Я понимаю, что эмпирическое правило OOD состоит в том, чтобы свести к минимуму доступ ко всем членам данного объекта, насколько это возможно. Похоже, что C# и Java реализуют один и тот же набор модификаторов доступа; тем не менее, что-то, что...
9616 просмотров
schedule 12.06.2023

Изменение режима доступа к функции в производном классе
Рассмотрим следующий фрагмент: struct Base { virtual ~Base() {} virtual void Foo() const = 0; // Public }; class Child : public Base { virtual void Foo() const {} // Private }; int main() { Child child; child.Foo(); // Won't work....
18667 просмотров
schedule 23.02.2023

ошибка: 'void Base::output()' защищен в этом контексте
Меня смущают ошибки, генерируемые следующим кодом . В Derived::doStuff я могу получить доступ к Base::output напрямую, вызвав его. Почему я не могу создать указатель на output() в том же контексте, в котором я могу вызвать output() ? (Я...
3337 просмотров
schedule 05.02.2023

С# явно объявить интерфейс члена
Как объявить явным членом интерфейса?.i.e: public interface IPerfil { int IDPerfil { get; set; } int IDMarca { get; set; } int...
270 просмотров
schedule 16.02.2024

Как работает этот код для запрета наследования?
Я нашел довольно странный код: class Base { public: virtual bool IsDerived() const { return false; } }; class Derived : public Base { public: bool IsDerived() const { return true; } }; Derived* CastToDerived( Base* base ) { //...
438 просмотров

Почему элементы, определенные в пространстве имен, не могут быть объявлены явно?
У меня есть следующий код С#: namespace ISeeOptic.BL { public abstract class Process { ... protected static void DeleteImages(List<ImagesPath> list) { some logic } ... }...
31500 просмотров
schedule 17.05.2022

Изменить модификатор доступа переопределенного метода в Java?
Есть ли причина, по которой можно изменить модификатор доступа переопределенного метода? Например, abstract class Foo{ void start(){...} } А затем измените модификатор доступа к пакету на public , final class Bar extends Foo{...
23579 просмотров
schedule 12.04.2022

Могу ли я переопределить частный метод в Java?
Я знаю, что могу использовать отражение для вызова частного метода, а также для получения или установки значения частной переменной, но я хочу переопределить метод. public class SuperClass { public void printInt() {...
37598 просмотров

Отсутствует модификатор доступа уровня фреймворка
Вот сценарий. Как создатель публично лицензированных API с открытым исходным кодом, моя группа создала инфраструктуру пользовательского веб-интерфейса на основе Java (так что еще нового?). Чтобы все было хорошо организовано, как и должно быть в...
359 просмотров
schedule 26.07.2023

Частный конструктор запрещает использование emplace[_back](), чтобы избежать перемещения
Рассмотрим следующий код: #include <vector> class A { public: A(A&&); // somewhat expensive static std::vector<A> make_As() { std::vector<A> result; result.push_back(A(3));...
2189 просмотров

Защищенный член виден пользователю
Это будет мой первый вопрос здесь, поэтому, пожалуйста, будьте снисходительны. Как это возможно: //there is a Form1 class which has a TableAdapter member generated by designer... partial class Form1 { private void InitializeComponent()...
560 просмотров
schedule 19.04.2022

Почему Typescript использует экспорт ключевых слов, чтобы сделать классы и интерфейсы общедоступными?
Во время работы с Typescript я понял, что мои классы в модулях (используемых в качестве пространств имен) были недоступны для других классов, если я не написал перед ними ключевое слово export , например: module some.namespace.here { export...
79825 просмотров

Ошибка компиляции модификаторов доступа С#
public List<ObjectA> ObjectAList { get { return ObjectAList ?? new List<ObjectA>(); } set; } 'ObjectAList.set' должен объявлять тело, потому что оно не помечено как абстрактное, внешнее или частичное. Это...
56 просмотров
schedule 24.11.2022

В чем разница между защищенным внутренним статическим и внутренним статическим в C #?
В моей сборке C # "Abc" у меня есть следующий класс и статический метод: internal class Xyz { protected internal static void MakeAwesome() { ... } } Я заметил, что могу получить доступ к этому статическому методу из...
1516 просмотров
schedule 18.02.2024

Изменить значение частной переменной внутри реализации интерфейса
У меня возникли проблемы с изменением значения частной переменной (класса, реализующего интерфейс), которая находится внутри реализации интерфейса. У меня есть интерфейс IClient : public interface IClient{ void showNewArticles(Article...
139 просмотров
schedule 13.10.2023

Несовместимый тип параметра доступности
Я боролся с этой ошибкой, потому что я уже прочитал много вопросов в этом блоге, но, к сожалению, ни один из них мне не помог. В ответах на эти вопросы говорится, что класс , в котором содержится ошибка, должен быть общедоступным , и это,...
161 просмотров
schedule 27.03.2024

В чем разница между final class и sealed class в Scala?
В Scala есть два типа модификаторов: final и sealed . В чем разница между ними? Когда лучше использовать одно?
18266 просмотров
schedule 13.03.2024

Проверка видимости типа перед динамической двойной отправкой
Реализация двойной отправки с использованием dynamic : public interface IDomainEvent {} public class DomainEventDispatcher { private readonly List<Delegate> subscribers = new List<Delegate>(); public void...
136 просмотров

В чем разница между нестатическим методом и статическим методом абстрактного класса?
Я знаю, что использовать статический метод в абстрактном классе - не лучшая практика, но в чем разница, если я использую как статический, так и нестатический метод в абстрактном классе. Я предполагаю, что нет никакой разницы в вызове этих методов,...
443 просмотров
schedule 16.02.2024