Фундаментальной структурой программы в объектно-ориентированной программе является объект. Чтобы понять понятие объектов и классов, мы начнем с аналогии… Когда производитель автомобилей решает построить новый автомобиль, значительные усилия затрачиваются на различные виды деятельности, прежде чем первый автомобиль будет выпущен с конвейера. К ним относятся: • Определение сообщества пользователей автомобиля и оценка потребностей пользователя. Для этого производитель может сформировать команду. • После оценки требований команда может быть расширена за счет включения автомобильных инженеров и других специалистов, которые разрабатывают предварительный проект. • Для оценки и уточнения первоначального проекта могут быть использованы различные методы (команда может иметь опыт в создании аналогичного транспортного средства): могут быть созданы прототипы, может быть проведено моделирование и математический анализ. Возможно, после нескольких месяцев такой деятельности процесс проектирования будет завершен. Еще один шаг, который необходимо выполнить, – это строительство завода, на котором будет производиться автомобиль. Необходимо наладить сборочную линию и нанять людей.
После таких шагов компания готова выпускать автомобили. В настоящее время эта конструкция многократно используется при производстве. Конечно, дизайн может потребоваться доработать в ходе процесса на основе наблюдений компании и отзывов пользователей. Разработка программных систем часто следует аналогичной схеме. Необходимо оценить потребности пользователей, разработать дизайн, а затем создать продукт. С точки зрения объектно-ориентированных систем важен другой аспект процесса производства автомобилей. Конструкция определенного типа автомобиля потребует определенных типов двигателя, трансмиссии, тормозной системы и т. Д., И каждая из этих частей сама по себе имеет свой собственный дизайн (синяя печать), производственные установки и т. Д. Другими словами, компания придерживается той же философии при изготовлении отдельных деталей, что и при производстве автомобиля. Конечно, некоторые детали можно купить у производителей, но они, в свою очередь, придерживаются того же подхода. Поскольку деятельность по проектированию является дорогостоящей, производитель повторно использует дизайн для изготовления деталей или автомобилей. Описанный выше подход можно сравнить с проектированием объектно-ориентированных систем, которые состоят из множества объектов, взаимодействующих друг с другом. Часто эти объекты представляют реальных игроков, а их взаимодействия представляют реальные взаимодействия. Точно так же, как дизайн автомобиля представляет собой совокупность отдельных конструкций его частей и дизайн взаимодействия этих частей, дизайн объектно-ориентированной системы состоит из конструкций ее составных частей и их взаимодействий. Например, банковская система может иметь набор объектов, представляющих клиентов, другой набор объектов, обозначающих счета, и третий набор объектов, соответствующих кредитам. Когда клиент фактически вносит депозит на свой счет в реальной жизни, система воздействует на соответствующий объект учетной записи, чтобы имитировать депозит в программном обеспечении. Когда клиент берет кредит, создается новый объект кредита и подключается к объекту клиента; когда производится платеж по кредиту, система действует на соответствующий объект кредита. Очевидно, что эти объекты должны быть каким-то образом созданы. Когда новый клиент входит в систему, мы должны иметь возможность создать новый объект клиента в программном обеспечении. Этот программный объект, объект клиента, должен обладать всеми соответствующими функциями реального клиента. Например, должна быть возможность связать имя и адрес клиента с этим объектом; однако атрибуты клиента, которые не имеют отношения к банку, не будут представлены в программном обеспечении. Например, трудно представить, чтобы банк интересовался, является ли клиент правшой; поэтому программная система не будет иметь этого атрибута.
Оригинал: “https://dev.to/jjoshi468/basics-of-object-oriented-programming-3ak7”