Программирование на C# (Си Шарп) - ООП в .NET - Что такое объект?

Программирование на C# - ООП C#

ООП С Sharp - Что такое объект?

В повседневной жизни объектом называют нечто, идентифицирующее отдельный материальный элемент. Объектом может быть автомобиль, дом, книга, документ или счет к оплате. Теперь вам придется несколько расширить эту концепцию и думать об объекте, как о некой отдельной сущности, которую вы хотите представить в программе. Поэтому наша дискуссия будет включать живые “объекты”, такие как человек, сотрудник или заказчик, наряду с более абстрактными “объектами”, например, компанией, базой данных или страной.

Такое представление объектов не только позволит писать код, моделирующий реальный мир, оно также даст возможность разбивать крупные программы на небольшие, более управляемые узлы. В действительность идея происходит от концепции черного ящика, с которой вы, возможно, уже сталкивались ранее.

Идея черного ящика заключается в том, что в реальной жизни существует множество объектов, которые вы можете использовать, но механизм действия которых вы не понимаете. Возьмем, к примеру, автомобильный радиоприемник. Большинство людей в точности не знают, как работает автомобильный радиоприемник, однако они знают, что он делает, и как им управлять. Более того, они могут вынуть один приемник, вставить вместо него другой, и он будет делать в основном то же самое, даже несмотря на то, что внутреннее устройство может полностью отличаться. Черные ящики формализуют идею о том, что существует разница между тем, как нечто работает, и тем, что оно собой представляет, и что два объекта могут делать одно и то же, но внутри работать совершенно по-разному.

Замена одного объекта другим имеет один тонкий эффект. Автомобильные радиоприемники могут иметь разные кнопки и переключатели, они могут обеспечивать разное качество звука, но основные их функции неизменны. Другой важный момент состоит в том, что базовый интерфейс остается неизменным — вы вставляете один автомобильный приемник в разъем точно так же, как и другой.

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

Если вы начнете думать о программах подобным образом, то получите ряд преимуществ. Вы обнаружите, что программы станет легче проектировать. Архитектура ваших программ станет более интуитивной и легкой для понимания, потому что станет точнее отражать программируемые абстракции реального мира. Упростится организация совместного труда множества разработчиков, поскольку они смогут работать с разными объектами в коде; все, что им нужно будет знать — что именно объект может делать, и как с ним взаимодействовать. Не придется заботиться о деталях работы кода, лежащего в их основе.

 

Добавить комментарий


Защитный код
Обновить