переопределение констант
ну так давно узнал, что в php можно переопределять константы классов :)
class A { const A = 1; } class B { const A = 2; } echo B::A; так вот по сравнению с fortran php отдыхает. Там можно писать в Код:
PROGRAM MYSTERY The __fortran calling convention isn't the calling convention used by FORTRAN |
а сейчас наткнулся на то, что в perl 4 было то же самое:
Код:
$foo = "x"; |
определили константу в A, определили константу в B.
A::A при этом осталась, как и была. к переопределению констант это не имеет никакого отношения. |
я там extends A пропустил: class B extends A { const A = 2; }. Далее, если я пишу self::A:
class C extends B { function f() { var_dump(self::A); }} я получу, B::A. Почему? Правильно, потому что класс B переопределил константу А. |
Цитата:
Так работает во всех языках программирования, и это не переопределение. |
ok, расскажите мне, что такое переопределение
|
http://ru.wikipedia.org/wiki/%D0%9F%...BE%D0%B4%D0%B0
x-yuri, прав, хотя до этого был согласен с devote, во многих источниках переопределение -упоминается изменение изменяющее родительское в контексте родительского . |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 10:37. |