<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Статические методы и свойства
14.03.2012 19:30:56 Статические методы и свойства Сообщение #1
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, вот собственно ломаю уже несколько дней голову, для чего же нужны статические свойства(далее СС) и статические методы(далее СМ).
Как я понимаю, СС создаются исключительно для СМ, ведь СМ не могут работать с обычными свойствами, так ведь?
Так же СМ создаются исключительно для работы внутри класса, т.е. при работе непосредственно в контексте объекта они не должны вызываться, так?
И последнее, что хочется узнать, так это то, можно ли изменять значения статических свойств при создании объекта, или все таки нет?
Профиль
14.03.2012 19:45:50 Статические методы и свойства Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Как я понимаю, СС создаются исключительно для СМ, ведь СМ не могут работать с обычными свойствами, так ведь?
Да, однако, можно просто получать доступ к значениям этих свойств.
Так же СМ создаются исключительно для работы внутри класса, т.е. при работе непосредственно в контексте объекта они не должны вызываться, так?
Верно.
И последнее, что хочется узнать, так это то, можно ли изменять значения статических свойств при создании объекта, или все таки нет?
Нет, статические свойства принадлежат классу, а не объекту. Поэтому при создании объектов их менять нельзя.
Профиль
14.03.2012 19:58:47 Статические методы и свойства Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Ну к статическим свойствам я так понимаю можно обращаться при использовании конструкции self::$propertyName, так ведь?
И ещё немного оффтоп, просто есть вопросик:
Вобщем понятно то, что конструктор вызывается при создании объекта, но что именно читает передаваемые данные, т.е. при создании метода
$object = new ClassName($name, $lastname, $age)
Кому сначала передаются в таком случае значения, полям или конструктору? Понимаю, что глупый и непонятный вопрос, но меня очень мучает ответ на него)))
Профиль
14.03.2012 20:01:09 Статические методы и свойства Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, это из класса так обращаются. А если из вне класса, то имя_класса::имя_поля.
Значения передаются только в конструктор. Они в поля не записываются, и записывать их туда нужно отдельно через: $this->имя_поля
Профиль
14.03.2012 20:03:47 Статические методы и свойства Сообщение #5
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Значит при передаче данных при объявлении объекта нужно перечислять данные только в порядке конструктора, правильно?
Профиль
14.03.2012 20:07:36 Статические методы и свойства Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Разумеется, как в обычной функции.
Профиль
14.03.2012 20:09:58 Статические методы и свойства Сообщение #7
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, многое стало понятно) И извиняюсь, ещё один вопросик: для чего например можно использовать статические методы? На ум мне пришло только подключение с БД. И правильно ли их объявлять в абстрактном классе?
Профиль
14.03.2012 20:12:13 Статические методы и свойства Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Их нужно использовать там, где по логике не должно быть создания объектов. Например, класс, отвечающий за математические операции. Глупо создавать объект Math, чтобы просто посчитать какой-нибудь синус. Поэтому можно создать статический метод вычисления синуса аргумента и обращаться к данному методу без создания объекта.
Профиль
14.03.2012 20:17:20 Статические методы и свойства Сообщение #9
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо, думаю моё понимание и взгляд новичка на статистические методы и свойства помогут при написании статьи)))
Профиль