Найти в Дзене
ZDG

Введение в ООП. Часть 5: Заключительная

Да, введение в ООП заняло 4 части, и это заключительная часть. Это не значит, что я уже рассказал всё про ООП. Я закончил только введение. Дальше будут более сложные вещи. В этом выпуске хочу просто очертить, что уже пройдено, что ещё предстоит пройти, и зачем всё это надо.

Итак, пока что ООП было представлено всего тремя вещами: объектами, классами и наследованием. Строго говоря, для того чтобы использовать объектно-ориентированный подход, достаточно только объектов. Классы и наследование являются лишь полезной надстройкой над объектами.

Рискну предположить, что все языки программирования, в которых используется ООП, имеют вышеперечисленные инструменты. Но вот дальше начинается такая территория, где каждый язык начинает отличаться от других, потому что в нём или есть что-то дополнительное, или наоборот, чего-то не хватает.

Сейчас я перечислю то, что осталось изучить для полного финала:

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

Если вы пишете простую программу, вам скорее всего не понадобятся все эти навороты. А может быть, даже будут вредны. А может быть, их просто не будет в том языке, на котором вы пишете. Тем не менее, знать о них очень полезно. Они существенно расширяют горизонты мышления, а следовательно, и ваши возможности в создании любых программ на любых языках. И здесь главное не переборщить. Владение ООП не означает, что все задачи должны делаться через ООП. Вам нужны эти знания именно для того, чтобы решить, когда надо, а когда не надо их применять.

Я тут случайно нашел статью, которая ругает ООП. Поначалу я подумал, что это какая-то фигня, однако человек там пишет весьма здравые мысли. И что самое забавное, я там встретил пример с классами Player и Monster, которые только что описывал сам во введении. Если вы почитаете эту статью сейчас и не поймете, то вернитесь к ней позже, когда освоите больше ООП-понятий и наберете больше практики. Это действительно полезный взгляд на вещи с другой стороны. А нам всегда нужно выбирать не какую-то одну сторону, а золотую середину.

Вся подборка материалов по OOП:

ООП | ZDG | Дзен

Наука
7 млн интересуются