Вопросы с тегом «access-specifier»

216
Как создать метод частного класса?

Как работает этот метод создания метода частного класса: class Person def self.get_name persons_name end class << self private def persons_name "Sam" end end end puts "Hey, " + Person.get_name puts "Hey, " + Person.persons_name #=> raises "private method `persons_name' called for...

144
Каков хороший пример различия между частным и частным файлом в Swift3

Эта статья помогла разобраться в новых спецификаторах доступа в Swift 3. Он также дает несколько примеров различного использования fileprivateи private. Мой вопрос: не используется fileprivateли функция, которая будет использоваться только в этом файле, так же, как using private?...

141
Почему в Ruby есть как частные, так и защищенные методы?

Прежде чем я прочитал эту статью , я думал, что контроль доступа в Ruby работает следующим образом: public- может быть доступен любой объект (например Obj.new.public_method) protected - можно получить доступ только внутри самого объекта, а также любых подклассов private - то же, что и protected,...

125
Частный виртуальный метод в C ++

В чем преимущество создания виртуального частного метода в C ++? Я заметил это в проекте C ++ с открытым исходным кодом: class HTMLDocument : public Document, public CachedResourceClient { private: virtual bool childAllowed(Node*); virtual PassRefPtr<Element> createElement(const...

108
Методы частного модуля в Ruby

У меня вопрос из двух частей Лучшая практика У меня есть алгоритм, который выполняет некоторую операцию над структурой данных с помощью общедоступного интерфейса. В настоящее время это модуль с множеством статических методов, все частные, за исключением одного метода открытого интерфейса. Есть одна...

88
Почему я могу получить доступ к закрытым переменным в конструкторе копирования?

Я узнал, что никогда не могу получить доступ к частной переменной, только с помощью функции get в классе. Но тогда почему я могу получить к нему доступ в конструкторе копирования? Пример: Field::Field(const Field& f) { pFirst = new T[f.capacity()]; pLast = pFirst + (f.pLast - f.pFirst); pEnd =...