Общаясь со многими ребятами, которые желают научиться программировать, я натыкаюсь на одну тему, которая вначале для них кажется очень сложной и неподъёмной – это ООП (Объектно-ориентированное программирование). Многим начинающим всегда кажется, что процедурное программирование проще. Не исключено что в этом есть доля правды, но давайте подумаем, какими терминами привыкли мы мыслить в повседневной жизни.
Посмотрите на обычное здание, что вы видите в первую очередь? Я надеюсь, что это окна, двери, крыша и т.д., а не песок, цемент, кирпич, стекло. То есть в повседневной жизни мы привыкли думать объектами, а не их составляющими. Некоторые из объектов могут быть абстрактными, как, например, фигура – это абстрактное понятие, а не конкретное, как квадрат или круг. Точно так же происходит в ООП, у нас есть объекты и есть их составляющие. Вы можете использовать объект не задумываясь о его составляющих это упростит вашу жизнь, иногда незачем знать внутренности того как устроен объект, для того, чтобы начать его использовать. Например, автомобиль – для его управления вам не обязательно знать из каких деталей состоит мотор или коробка передач, вам достаточно знать, что при нажатии на педаль газа автомобиль поедет быстрее, а при нажатии на тормоз, он остановится. Точно то же и с объектами в программировании, вам достаточно знать, что при вызове метода Draw у объекта Shape будет нарисована фигура, при этом не обязательно знать как работает видеокарта и монитор и как изображение на него выводится.
Продолжить чтение »