СЦБИСТ - железнодорожный форум, блоги, фотогалерея, социальная сеть
Это сообщение показано отдельно, перейти в тему, где размещено сообщение: Программирование
Старый 29.05.2015, 15:14   #89 (ссылка)
лентяй
 
Аватар для Lamaks

Регистрация: 25.10.2012
Адрес: Чукчино
Сообщений: 631
Поблагодарил: 44 раз(а)
Поблагодарили 86 раз(а)
Фотоальбомы: не добавлял
Репутация: 133
Цитата:
Сообщение от Просто инженер АиТ Посмотреть сообщение
Для начала...
Какой то у вас сразу замес наследования с полиморфизмом произошел.
Если говорить только о наследовании, то можно проще:
Запускаем завод по производству машин. Есть, например, абстрактный класс(абстрактный - это значит что нельзя создать объект этого класса) МАШИНА. Мы берем и описываем подробно описываем что в нем есть поля: КОЛЕСА 4 ШТУКИ, ЦВЕТ, ТИП КУЗОВА и т.д.
Далее берем и создаем класс ЛЕГКОВОЙ АВТОМОБИЛЬ, который наследуется от класса МАШИНА и сразу же имеет поля КОЛЕСА и т.д. + дополняется своими полями, например КОЖАНЫЙ САЛОН, КОРОБКА АВТОМАТ и т.п.
Потом вдруг перепрофилировались и начали выпускать грузовые машины, тогда создает класса ГРУЗОВИК и наследуемся от класса МАШИНА + опять дополняем своими полями ТЕНТ, МОЩНЫЙ ДВИГАТЕЛЬ и т.п.
Т.е. мы в обоих случаях использовали старый код, не писав его заново, как это было бы в функциональном программировании, когда мы должны были бы описывать каждый объект с нуля, не используя "старые" созданные поля.
Если бы можно было создавать объект абстратного класса, то у нас бы просто с конвейера выпало 4 колеса, синий цвет, и какой-нибудь кузов...

Lamaks добавил 29.05.2015 в 15:14
Про инкапсуляцию:
Вы создали класса МАШИНА и вы даете пользователю только одну педаль - педаль газа, т.е. водитель через педаль регулирует скорость автомобиля, а не сам влезает под капот и копается в двигателе для увеличения скорости. Иными словами водитель не знает что происходит в двигателе, он знает что есть методы УВЕЛИЧИТЬ СКОРОСТЬ и УМЕНЬШИТЬ СКОРОСТЬ и все, а вся реализация от него скрыта. Так вот сокрытие реализации от пользователя и есть ИНКАПСУЛЯЦИЯ.
Про Полиморфизм:
В гараже стоит три машины СКОРАЯ, ПОЖАРНАЯ, МИЛИЦИЯ. Диспетчер говорит через громкоговоритель "Горит дом по улице Гороховая 137" и автоматически выезжает ПОЖАРНАЯ. Реализация этого, т.е. когда диспетчер говорит что случилось, а уже автоматически определяется кто едет на вызов и есть ПОЛИМОРФИЗМ.
ООП и строится на трех китах - инкапсуляция, наследование и полиморфизм.

Комментарии к сообщению (репутация)
Rafa, положительно:
__________________
Избыток пищи мешает тонкости ума (с)

Последний раз редактировалось Lamaks; 29.05.2015 в 15:15. Причина: Добавлено сообщение
Lamaks вне форума   Цитировать 0
Комментариев к сообщению: 1 (нажмите, чтобы увидеть)  Нажмите здесь, чтобы написать комментарий к этому сообщению  
 

Яндекс.Метрика