Объектно-ориентированные мысли

Как невежественному программисту объяснить преимущества объекто-ориентированного программирования? Хотя бы то, что объем кода сокращается при грамотном использовании наследования за счет вынесения интерфейса или наиболее повторямой части кода в базовые классы? Непросто.

Однако придумалась мне вот какая аллегория:
в первом или втором классе по математике проходят операцию «вынесение общего множителя за скобки». Отличная ИМХО иллюстрация:

A * B + C * B + D * B = (A + C + D) * B.

В том же и преимущество наследования – скоращаем код, вынося общие члены «за скобки» (т.е. в базовые классы).

  • #1
    Иван, 30/11/2011 17:13

    На это резонно могут ответить, что такую операцию решают без ООП вынесением в подпрограмму.
    Как по мне, технически ООП полезно из-за полиморфизма, а в остальном – благодаря «очеловечиванию»
    программирования через управление объектами, а не регистрами процессора или подпрограммами.

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

Ваши комментарии:

также вы можете зарегистрироваться
Подпишитесь на новые записи моего блога:
Добавить в закладки: (в том числе и в Twitter)

Читайте также:

  • GPL или BSD лицензия?
  • Недокументированные трюки для Windows Mobile 6
  • Windows Mobile Power Manager
  • Программируем музыку – это возможно?
  • Боремся со спам-фильтрами