<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

В начале курса у нас будет только идея, а в конце готовый продукт, который можно использовать в практических целях.

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

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

Подписавшись по 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

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