PHP

как использовать ООП

Изучаю программирование на php, вроде не плохо изучил, дело дошло до ООП вроде основы понял, но нихрена не понимаю как прменять на практике, мб какие статьи есть хорошие про это ?
Дима Быков
Дима Быков
271
Ищи примеры. Много примеров.
Юрий Ридунов
Юрий Ридунов
89 589
Лучший ответ
Пример из java.

Создаём объект Human - человека:
Human hum = new Human(23,"Петя");
Где передали параметры 23 (возраст) и "Петя" (имя) в конструктор. Эти параметры сохранены в объекте hum в его полях. Теперь вызываем для данного объекта функцию, которая имеет доступ к полям объекта.
int age = hum.getAge(); функция getAge, вызванная у объекта hum типа Human, вернула его возраст. Вызываем другой метод: hum.kill();

Теперь создаем наследника классу Human, назовём его Child. Child является Human, но может переопределить методы класса Human и добавить новые, таким образом расширить класс и изменить.
Human hum2 = new Child(5,"Вася",hum); тут у конструктора есть дополнительный параметр, где задаётся родитель ребёнка.
Теперь вызываем hum2.kill(); этот метод мог быть переопределен.

Интерфейсы: Есть интерфейсы comparable, cloneable, runnable и др. Интерфейс принуждает класс иметь в наличии опр. функционал (методы и т. д). comparable - объекты класса можно сравнивать (метод compare - больше, меньше или равен). Заранее написанный алгоритм сортировки может требовать от объектов класса быть сравнимыми между собой (comparable). Cloneable - объект можно скопировать методом clone. И т. д. и т. п. То есть наделяем функционалом, который должен быть реализован в классе.
ну как пишешь базовый класс для объекта животное, потом от него наследуешь кошку/сабаку и т п реализуешь методы бегать/гладить и т д а потом тебя просят написать обект голубь ты пишешь и получаешь фатал еррор потомучто количество лап не совпадает тогда чтобы не приляпывать голубю два костыля пишешь новый класс птица
Игорь Xxxl
Игорь Xxxl
59 848
ООП - очеловечивание кода. Юзая ООП ты можешь сделать свой код элегантным и понятным.