Объектно-ориентированное программирование - это системная метафора , которая помогает вам систематизировать знания, необходимые вашей программе, таким образом, чтобы вам было легче разрабатывать вашу программу.Когда вы выбираете программирование с использованием ООП, вы выбираете свои ООП-Google, и вы решаете, что вы увидите проблему реального мира, заключающуюся в том, что многие объекты взаимодействуют между собой, отправляя сообщения.Вместо того, чтобы видеть, как Парень ведет машину, вы видите, как Парень посылает сообщение машине с указанием того, что он хочет, чтобы машина делала.Автомобиль - это большой объект, и он ответит на это сообщение, отправив сообщение своему двигателю или колесу, чтобы иметь возможность правильно реагировать на то, что водитель сказал ему сделать в сообщении, и т. Д. *
После того, как вы создали системную метафору, и вы видите всю реальность как объекты, отправляющие сообщения, вы решаете поместить все объекты, которые вы видите, которые имеют отношение к вашей проблемной области, на ПК.Там вы заметили, что многие парни управляют разными картами, и бессмысленно программировать поведение каждой из них в отдельности, потому что все они ведут себя одинаково ... Итак, вы можете сказать две вещи:
- Все эти парни ведут себя одинаково, поэтому я создам класс с именем Driver, который будет указывать, с кем будут вести себя все Драйверы в мире, потому что все они ведут себя одинаково.(И вы используете ООП на основе классов)
- Или вы могли бы сказать, Эй!Второй водитель ведет себя так же, как и первый водитель, за исключением того, что ему нравится двигаться немного быстрее.И третий водитель ведет себя так же, как и первый водитель, за исключением того, что ему нравится зигзагообразно двигаться.(И вы используете основанный на прототипе ООП).
Затем вы начинаете вставлять в компьютер информацию о том, как ведут себя все драйверы (или как ведут себя первый драйвер, а также чем отличаются второй и третий от этих драйверов).один), и через некоторое время у вас есть ваша программа, и вы используете код для создания трех драйверов, которые являются моделью, которую вы используете внутри этого ПК, чтобы ссылаться на драйверы, которые вы видели в реальном мире.Те 3 драйвера, которые вы создали внутри ПК, являются экземплярами либо прототипа (фактически первым является прототип, первым может быть сам прототип, в зависимости от того, как вы моделируете вещи), или класс, который вы создали.Разница между экземпляром и объектом заключается в том, что объект - это метафора, которую вы используете в реальном мире.Вы выбираете видеть парня и машину как объекты (было бы неправильно говорить, что вы видите их как экземпляры), сотрудничающих между собой.И затем вы используете его как вдохновение для создания своего кода.Экземпляр существует только в вашей программе после того, как вы создали прототип или класс.«Объекты» существуют вне ПК, потому что это отображение, которое вы используете, чтобы объединить реальный мир с программой.Он объединяет парня с экземпляром драйвера, который вы создали на ПК.Таким образом, объект и экземпляр чрезвычайно связаны, но они не совпадают (экземпляр - это «нога» объекта в программе, а другая «нога» находится в реальном мире).