Search
Write a publication
Pull to refresh

Comments 10

А теперь немного про то что это за код, зачем он нужен, чем и когда полезен.
Нужен сам абстрактный класс 'cloak', который позволяет прятать публичные методы и свойства дочерних классов, когда на нужно множественное наследование. К примеру cloak -> A -> B. Допустим в классе А нам нужно объявить ряд публичных методов и свойств. В классе B пользователь может переопределить их. Можно решить эту проблему объявив метод как 'final', но с свойствами проблема нерешаемая.

Шаблон позволяет решить проблему возникающую, когда классу C нужно воспользоваться публичными методами и свойствами класса А, но при этом нужно спрятать эти методы и свойства от класса B.
по-моему и так все понятно:

/**
* Cloak is a good thing when we need to hide some public methods and properties.
*/

люди клоаку реализовали
UFO landed and left these words here
вы ипануты на голову.
Но реально минут 10 думал в чем стеб, спасибо забавно.
Сенсация! Код сетевой части WoW попал в открытый доступ.
А btw, как оно всё на IDE и Code Assist`е потом работает?

И всё-таки зачем от одного класса прятать public, а другому показывать?

IMHO, это ошибка в проектировании, когда такие цели возникают
Естественно, что публичные методы и свойства, объявленные таким образом, в IDE не будут видны.

Да, ты прав. Сейчас посидел поразмышлял… перемудрил. Все-таки пятница вечер.
Sign up to leave a comment.

Articles