PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- class a {
- static public $a = 'static var';
- public $b = 'dynamic var';
- }
- $a = new a();
- $b = new a();
- $a::$a = 'changed static var'; // меняем статические значение только в обьекте $a
- $a->b = 'changed dynamic var'; // ну и для примера динамическое тоже
- echo $a::$a, '<br>'; // changed static var - всё верно, мы поменяли значение на строку выше
- echo $a->b, '<br>'; // changed dynamic var - динамические из обьекта $a тоже поменялось
- echo $b::$a, '<br>';// changed static var - опа, а почему так? ведь мы не трогали обьект $b, да потому что статические методы общие для всех копий обьекта - поменял в одном поменялись везьде
- echo $b->b; // dynamic var - тут всё понятно, не изменилось потому что мы его не трогали