whirlwind
TDD infected, paranoid
Видать логика у каждого своя. Я бы вообще предпочел конфликт имен.и по всей логике ответ должен
Видать логика у каждого своя. Я бы вообще предпочел конфликт имен.и по всей логике ответ должен
+1001!!!!Я бы вообще предпочел конфликт имен
Хочешь играться с наследованием - юзай протектед. А приватные в играх с наследственностью не участвуют
Не уместен, т.к. private - четко разделяет отношение к конкретному классу.Автор оригинала: whirlwind
.... Я бы вообще предпочел конфликт имен.
Скорее всего так придеться делать, или явно переопределять метод в дочернем классе или еще чего-нибудь.Хочешь играться с наследованием - юзай протектед. А приватные в играх с наследственностью не участвуют
Ну ничем. Это как два класса с одинаковым именем, но в разных неймспейсах. Это уяснили? Это важно. Идем дальше. Либо внимательно смотрим на код от codex, либо слушаем меня. Метод родителя достается нам.. ну на правах аренды чтоли. Он как бы в нашем классе тоже есть, но на самом деле когда он вызывается в контексте нашего обьекта, то для того, чтобы правильно вызвать этот метод обьект класса Son должен прикинутся обьектом класса Father(ведь метод определен там). И show_private_member() вызывается в контексте именно отца, а там знают только свой $my_private_member, который как мы уже знаем НУ НИКАК не связан с приватным мембером сына.$my_private_member у Отца и $my_private_member у Сына - когда они приватные - это два ничем между собой не связанных поля.
А это почти что нарушение принципов инкапсуляцииАвтор оригинала: whirlwind
Видать логика у каждого своя. Я бы вообще предпочел конфликт имен.
Чо? Вы хотите заставить всех работать с приватными свойствами обязательно через публичные гетеры? С дуба рухнули? А если я не хочу, более того, это четко задано - что приватное свойство должно быть приватным! И чо? Это раз. Два - а гетеры и сетеры публичные если будут переопределены (они же публичные) - как будете работать с приватным свойством? Т.е. легким движением руки вы даете все возможности сломать _внутреннюю_ работу класса переопределением публичных методов? Именно сломать, ибо приватное свойство подразумевает, что оно скрыто в исходном объекте и _никто_ не может извне на него повлиять. И пишется класс исходя из этого, а тут бац - налепили публичных геттеровАвтор оригинала: c0dex
Опять не поняли. Работа с свойствами приватными только через паблик геттеры и сеттеры того классагде есть приватные свойства. Иначе анархия
— не нужно. Ты методами дочернего класса никак их не переопределишь, только с помощью методов родительского класса.Автор оригинала: MiksIr
для создания расширения объекта нужно знать не только его интерфейс, но и наборы приватных(!) свойств/методов, что бы случайно их не переопределить
— пиши на C#, чё.Автор оригинала: triumvirat
А я бы предпочел строгую типизацию и поддержку объектов примитивного типа.