# Class A class is the model that describe, totally or partially, an [[Object]]. A class can be the [[Type]] of a [[Object]] but it's not always the case. There is many kind of classes: - **[[Class]]**: The most common one is the [[Model]] used to [[Allocation|allocate]] [[Memory]] for an [[Object]] and [[Initialization|initialize]] its values after [[Allocation]] (in a [[Constructor]]). It is considered the [[Type]] of an [[Object]], and an [[Object]] built from it is considered an [[Instance]] of this class. In many programming languages like [[Python]], [[Java]], or [[C++]], classes [[Definition|define]] both the structure (fields or properties) and the behavior (methods) of the objects. - **[[Base Class]]**: - **[[Fields/Development/Programming Languages/Glossary/Virtual Class]]**: A virtual class is a class that is intended to be a base class and is not meant to be instantiated on its own. It provides a structure for derived classes, allowing them to inherit behavior or properties, but it cannot create instances by itself. In many languages, virtual classes contain at least one virtual function, which can be overridden in derived classes. - **Abstract Class**: An abstract class is a class that cannot be instantiated on its own and often contains one or more abstract methods—methods that are declared but contain no implementation. Subclasses of an abstract class must provide concrete implementations for these abstract methods. Abstract classes are useful for creating blueprints for other classes while enforcing that certain methods must be implemented in derived classes. - **Mixin Class**: A mixin class is designed to provide additional functionality to other classes through inheritance, but it is not meant to stand alone. It usually contains methods that can be "mixed" into other classes, allowing for code reuse and modular design. Mixins allow a class to inherit behaviors from multiple sources without traditional inheritance hierarchies. In Python, for example, mixins are commonly used to add utility methods to classes. --- Bibliography: - [Title - website.com](need bibliography)