Класс (компьютерное программирование)


В объектно-ориентированном программировании класс — это расширяемый шаблон программного кода для создания объектов , предоставляющий начальные значения состояния ( переменные-члены ) и реализации поведения (функции-члены или методы ) . [1] [2] [а]

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

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

В объектно-ориентированном программировании (ООП) экземпляр — это конкретное появление любого объекта , обычно существующего во время выполнения компьютерной программы. Формально «экземпляр» является синонимом «объекта», поскольку каждый из них представляет собой определенное значение (реализацию), и их можно назвать экземплярным объектом; «экземпляр» подчеркивает отчетливую идентичность объекта. Создание экземпляра называется созданием экземпляра.

Объект может быть изменен по-разному. Каждая реализованная вариация этого объекта является экземпляром своего класса. То есть это член данного класса, который имеет указанные значения , а не переменные . В контексте, не связанном с программированием, вы можете думать о «собаке» как о типе, а о вашей конкретной собаке как об экземпляре этого класса. [3]

В программировании на основе классов объекты создаются как экземпляры классов с помощью подпрограмм , называемых конструкторами , и уничтожаются деструкторами . Объект является экземпляром класса, поскольку он может получить доступ ко всем типам данных (примитивным и не примитивным), методам и т. д. класса. Следовательно, объекты можно называть экземплярами класса или объектами класса. Создание экземпляра объекта называется конструкцией. Не все классы могут быть созданы — абстрактные классы не могут быть созданы, а классы, экземпляры которых могут быть созданы, называются конкретными классами . В программировании на основе прототипов создание экземпляра вместо этого выполняется путем копирования (клонирования) экземпляра прототипа. [4]