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