|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
||||||
self, static, var, public05.08.2010, 15:34. Показов 20150. Ответов 25
Метки нет (Все метки)
Не понимаю ничего в этих приставках... Зачем делать static-переменные? Чем отличается var от public?
Стоп... static-переменные нужны для того, чтобы во время создания объекта произошла инициализация типа
0
|
||||||
| 05.08.2010, 15:34 | |
|
Ответы с готовыми решениями:
25
Как сцепить строки? Например <? $var='Ура!'; $var=$var+' Еще раз...'; echo $var; ?>
Global $var или $GLOBALS['var'] |
|
307 / 20 / 4
Регистрация: 01.05.2010
Сообщений: 250
|
|
| 05.08.2010, 15:38 | |
|
Под static-переменную память выделяется единожды при запуске программы и освобождается в конце(при завершении программы), т.е. объявляя такую переменную мы можем сохранить ее значение при множественных вызовах функции, в которой она объявлена.
public-данные доступны за пределами класса, а не только для методов класса. Подробнее в гугле
0
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 05.08.2010, 15:44 [ТС] | |
|
Тоесть когда создаётся объект, только тогда создаётся static-переменная, да? Но ведь мы можем получить к ней доступ через self значит она есть. А в чём разница между var и public. Можно обойтись ведь без static, Как мне кажется.
0
|
|
|
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
|
||||||
| 05.08.2010, 15:49 | ||||||
|
static-члены класса доступны даже если объект этого класса не создан:
0
|
||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 05.08.2010, 16:02 [ТС] | |
|
Vovan-VE, просматриваю.
Добавлено через 1 минуту ostgals, это нужно для того, чтобы не создавая объект, ты имел доступ к этой переменной? А если и public, и static, то оба варианта (::, ->) будут доступны? Добавлено через 3 минуты Кто-нибудь может привести простой пример, где статические данные реально нужны?
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|||||||
| 05.08.2010, 16:07 | |||||||
0
|
|||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 05.08.2010, 16:26 [ТС] | |
|
Vovan-VE, ясно... Это для того, чтобы именно работать с классами, а с объектами надо работать public'ами, так?
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 05.08.2010, 16:29 | |
|
Да, как-то так. У экземпляров класса есть свойства и методы. А статические свойства и методы присущи самому классу, а не его экземплярам.
1
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
||||||
| 05.08.2010, 16:51 [ТС] | ||||||
|
Vovan-VE, ясно. Спасибо.
Добавлено через 11 минут Но смотри: вот допустим счётчик объектов. Вот к примеру код:
0
|
||||||
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 05.08.2010, 16:58 | |
|
Hagrael, Теоритически правильно. Фактически есть три ошибки. 1: Статический и обычный count надо обозвать по-разному. 2: Не декларированы ни тот, ни другой. 3: Статические свойства надо писать ClassName::$StaticVar.
0
|
|
|
#define книжный_червь Я
185 / 96 / 21
Регистрация: 30.01.2010
Сообщений: 780
|
||||||
| 05.08.2010, 18:38 | ||||||
|
Я не знаю как там в PHP статистические переменные ведут себя в классе, но в C++ статистические переменные в классе - это переменные, которые всегда имеют одно значение не зависимо от объекста. Т.е. давайте (на C++) напишем программу, которая считает сколько объектов создано:
0
|
||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|||||||||||||||||||||
| 05.08.2010, 19:17 [ТС] | |||||||||||||||||||||
|
][акер, ну видимо в PHP по-другому.
Vovan-VE, так надо писать
0
|
|||||||||||||||||||||
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 05.08.2010, 19:34 | |
|
Hagrael, Надо читать литературу об ООП в принципе, ибо сложно и долго объяснять.
0
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 06.08.2010, 06:08 [ТС] | |
|
Vovan-VE, я буду продолжать читать материал на php.su, но всё равно прошу помочь (но если не поможешь, то разумеется, я пойму, я б и сам навряд ли стал себе столько долго вдалбливать =) )
Добавлено через 10 часов 21 минуту Ну как бы кажется я понял, public - для объектных переменных, static - для переменных класса.
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
||||||
| 06.08.2010, 07:05 | ||||||
|
Hagrael, public, protected и private - это видимость. static - это модификатор статичности.
1
|
||||||
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
||||||||
| 06.08.2010, 08:47 [ТС] | ||||||||
![]() Кое-что уже проясняется. Значит, public, private, protected (кст., а var тоже ведь к этому относится, да?) - это одна группа (отвечающая за область видимости), а static - это как бы опция, которую можно ещё дополнительно включить. Щас ещё раз просмотрю коды и попробую понять, для чего нужен static. Кст., то есть если у меня private $a, то вызвать её через $obj->a я не могу, так? Но ты говорил, что Добавлено через 32 минуты Хм... не очень понял вот тот твой код:
Добавлено через 56 секунд Кст., и код твой теперь я понял! СПАСИБО, Vovan-VE!!!!!!!!!!!!!!!!!!!!!!!!!
0
|
||||||||
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 06.08.2010, 10:09 | |
|
var - это устаревший способ из PHP4, использовать не следует (PHP4 - это вообще отдельная история). В PHP5 var трактуется как public.
2
|
|
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
| 06.08.2010, 10:44 [ТС] | |
|
Vovan-VE, понял. Знач, в PHP var щас не юзается.
0
|
|
|
90 / 88 / 17
Регистрация: 30.10.2009
Сообщений: 562
|
|
| 06.08.2010, 10:47 | |
|
почему бы просто не почитать какую-нибудь хорошую книгу ООП? много вопросов бы отпало сразу
0
|
|
| 06.08.2010, 10:47 | |
|
Помогаю со студенческими работами здесь
20
В чем разница между $var и $$var? как исправить ошибку Warning: The magic method __toString() must have public visibility and cannot be static Можно ли выполнить условие $var===false, если переменная $var другого типа (не boolean)? Вызов public метода public класса внутри static метода static класса Static public и public static Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|