Основные принципы ооп

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

Класс это шаблон, тип, в соответствии с которым строятся конкретные экземпляры объектов класса. Данные объекта должны быть защищены своими методами, т.е. доступ к данным объекта должен осуществляться только через методы объекта. Это первый принцип объектно-ориентрованного программирования, который называется – инкапсуляция. Т.е. данные объекта находятся как бы в капсуле из методов объекта. Этот принцип часто называют сокрытие данных.

Можно создавать наследников класса, при этом наследуются все свойства и методы предка и добавляются свои свойства и методы. Этот принцип носит название – наследование. Это очень мощный принцип, который позволяет не изобретать велосипед, а взять все, что нужно у предка и добавить новое.

Тритий принцип ООП называется – полиморфизм ( поли – много, морф – форма), можно перевести как разнообразие. Этот принцип означает, что родственные объекты могут выполнять схожие по смыслу действия разными способами. Т.е. у потомков поведение уже может быть изменено. Иногда этот принцип называют сокрытие интерфейса, т.е. за одним и тем же заголовком метода, реализующего поведение объекта, скрывается разная реализация метода у предка и у потомка. Чтобы было понятно, рассмотрим такой пример. У класса «Транспортное средство» есть метод «Двигаться». Наследниками этого класса являются классы «Автомобиль», «Самолет» и «Пароход». Наследники наследуют у предка все, в том числе и метод «Двигаться». Для класса «Самолет» двигаться – означает летать, для класса «Пароход» двигаться – означает плыть, для «Автомобиля» двигаться означает ехать. Поэтому в каждом классе наследнике метод «Двигаться» получит свою реализацию.

Основные принципы ооп

3.1 — принципы ООП. Абстракция, наследование, полиморфизм, инкапсуляция


Читать еще…

Понравилась статья? Поделиться с друзьями: