logo search
sranaya_informatika

46 Ооп. Давайте знакомиться

    ООП - концепция, которая в свое время произвела настоящую революцию в программировании. До появления ООП программа представляла собой логически  единый код с ярко выраженными функциональными зависимостями (процедурный подход).     ООП предполагает, что приложение строится из набора независимых по своему внутреннему устройству модулей (для простоты понимания, представьте себе детали из которых можно собрать разные механизмы, по разному объединяя некоторые из них). При этом одной независимой части ничего неизвестно о внутреннем устройстве другой (я немного грешу против истины, но об этом чуть позже).     Принцип независимости данных в ООП называется инкапсуляцией. Таким образом, каждый модуль может содержать собственные данные, недоступные другим модулям системы. Очевидно, что абсолютно независимыми модули быть не могут, поскольку им необходимо взаимодействовать между собой, использовать общие данные и обмениваться собственными данными. Но, пока не меняется механизм взаимодействия с другими модулями системы, внутреннее устройство модуля можно изменять по своему желанию, не затрагивая других компонент системы.     Доступный пример - живой организм, состоящий из множества живых клеток, каждая из которых имеет свое собственное поведение и свои собственное устройство, но взаимодействующая с другими клетками и обменивающаяся с ними веществами. В программировании такой живой организм - это приложение, а клетка - объект, вещества - данные, а пути взаимодействия - методы и события.     Попытаемся сформулировать определение объекта: "Объект - это некоторая уникальная единица имеющая свои данные и функции, эти данные обрабатывающие". (Это мое упрощенное определение, которое мы и будем использовать)     Как же создать объект? Для этого необходимо определить некий тип данных (в терминах ООП - класс), который будет использоваться в программе и каждая переменная этого типа (экземпляр класса) представляет собой объект. В принципе, как объект можно представить любой тип данных. Думаю, что вы уже сталкивались с простейшими типами данных, например целое число. И его можно представить как объект, а типцелые числа как класс. Как и зачем, мы поговорим позже, в последующих статьях.