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

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

Основные принципы ООП
Абстракция – благодаря этому понятию в ООП выделяют лишь определенные признаки, которые характеризуют общую сущность, однако эти признаки и методы должны в полной мере описывать объект исходя из условий поставленной задачи. Например, создавая классификацию автомобилей  по мощности, нет смысла описывать тип используемых покрышек, пробег автомобиля, возможности для модернизации авто и т.д., необходимо лишь описание мощности двигателя и т.д.
Для того чтобы ограничить доступ пользователя к скрытым полям, методам и описаниям класса, используется принцип инкапсуляции.

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

Благодаря принципу полиморфизма, объекты имеющие один интерфейс могут иметь разную реализацию интерфейса. Например классы квадрат и круг имеют одинаковый интерфейс, который основывается на методе GetSquare, высчитывание площади, однако площадь классов высчитывается по разному, соответственно для реализации вычислений площади будут использованы разные методы.

Оцените пост:

11111