Основные принципы объектно-ориентированного программирования (ООП)

В предыдущей статье мы рассмотрели основные преимущества ООП, в этой представлены основные принципы объектно-ориентированного программирования и рассматривается, как они взаимодействуют.

Для начала необходимо определить, основу ООП, что такое классы и объекты.

Классы - «чертежи» для объекта и фактический код, который определяет свойства и методы.

class Person { }

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

$objPerson = new Person();

Итак, основные принципы ООП:

1. Наследование - способность определять класс одного вида как подтип другого типа класса (почти так же, как квадрат является своего рода прямоугольником).

2. Полиморфизм - позволяет определить класс как сущность более чем одной категории класса (так же, как автомобиль - «вещь с двигателем» и «вещь с колесами»).

Многие утверждают, что в php отсутствует классическое понятие полиморфизма, возможно это и так, но для реализации данного принципа используются интерфейсы - способ указать, что сущность способна делать, что-то без определения, как это должно быть сделано, например, собака и человек - это «вещи, которые ходят», но они делают это очень по-разному :).

interface iAlive    
{
      public function iCanWalk();
}
class Person implements iAlive     
{
      public function iCanWalk();
      public function iCanSay();
}
class Dog implements iAlive     
{
      public function iCanWalk();
      public function iCanBark();
}
$objPerson = new Person();
$objDog = new Dog();  

3. Инкапсуляция - способность объекта защищать доступ к его внутренним данным.
На ранних стадиях работы многие программисты не задумываются над темой сокрытия данных посредством присвоения области видимости методам и свойствам private и protected, в основном пишут public, но со временем, понимают необходимость такого механизма, но это приходит с практикой.

Добавить комментарий