Различия между классом и объектом? К своему стыду, внезапно, осознал, что не понимаю разницы между классом и объектом.
Т.е. чисто теоретически понимаю, что объект это экземпляр класса, т.е. класс это как бы заготовка, а уже объект это уже «вещь», с которой можно непосредственно работать.
Но тогда почему (если рассматривать вопрос в PHP), я все-таки могу работать с методами класса ( ClassName::MethodName() ), так же как и с методами объекта ( $c = new ClassName; $c->MethodName() ), хотя, в первом случае никакого объекта не создано.
Или, в данном случае, класс это просто как бы группа глобальных функций в своём «пространстве имен», которые не требуют «персонализации» путем задания уникальных значений их свойств?
Поиск в гугле почему-то не помог, в основном приводятся аналогии вида «Класс — чертежи машины, объект — сама машина», но ни слова о практическом применении.
Заранее благодарен за разъяснения, а то сия каша в голове уже начинает напрягать =)

21 Авг 2019 в 07:10
206 +1
1
Ответы
1

Класс и объект - это два ключевых понятия в объектно-ориентированном программировании (ООП). Давайте попробуем разъяснить разницу между ними.

Класс - это шаблон или описание, которое определяет структуру, поведение и свойства объектов. Он описывает атрибуты (переменные) и методы (функции), которые объект сможет иметь. Класс можно рассматривать как абстракцию, которая представляет собой определенный тип данных.

Объект, с другой стороны, представляет собой конкретный экземпляр класса. Когда вы создаете объект, вы выделяете память для данного экземпляра и можете использовать его для работы с методами и данными, определенными в классе.

Теперь касательно вашего вопроса о работе с методами класса и объекта в PHP.

Когда вы обращаетесь к методу класса, не создавая объект, это называется статическим методом. Статические методы могут быть вызваны без создания экземпляра класса.

ClassName::MethodName();

Однако, обращение к методу через объект:

$c = new ClassName;
$c->MethodName();

это уже вызов метода объекта, который был создан путем инстанцирования (создания экземпляра) класса.

Таким образом, класс - это общее описание, а объект - конкретная реализация этого описания. Методы класса могут быть использованы как статические методы, так и методы объекта, в зависимости от того, как они были объявлены в классе. Надеюсь, это поможет вам разобраться в разнице между классом и объектом.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир