Clase

Un plano o plantilla definidos por el usuario para crear objetos, especificando sus datos (atributos) y comportamientos (métodos).

Una clase es un concepto fundamental en la programación orientada a objetos (POO). Actúa como un plano arquitectónico para crear objetos (instancias).

Componentes de una Clase:
- Atributos (Campos/Propiedades): Datos que almacenará el objeto (ej. nombre, edad).
- Métodos (Funciones): Acciones que el objeto puede realizar (ej. ladrar(), calcularSalario()).
- Constructor: Método especial para inicializar nuevos objetos.

Relación Clase-Objeto:
Si Coche es la clase, entonces miToyotaRojo es un objeto (instancia) de esa clase.

        graph LR
  Center["Clase"]:::main
  Pre_object_oriented_programming["object-oriented-programming"]:::pre --> Center
  click Pre_object_oriented_programming "/terms/object-oriented-programming"
  Rel_object["object"]:::related -.-> Center
  click Rel_object "/terms/object"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explícalo como si tuviera 5 años

Una clase es como un plano de arquitectura para una casa. Te dice cuántas habitaciones habrá y dónde van las ventanas. Pero no puedes vivir en el plano. Tienes que construir la casa real (el objeto) basándote en el plano. Puedes construir muchas casas (objetos) diferentes a partir del mismo plano (clase).

🤓 Expert Deep Dive

Las clases definen el polimorfismo, la herencia y la encapsulación. Las clases abstractas no se pueden instanciar y sirven como bases para subclases. Las interfaces (protocolos en Swift) definen contratos sin implementación. Las metaclases (en Python/Smalltalk) son clases que crean clases. Los miembros estáticos (Static) pertenecen a la clase en sí, no a las instancias.

🔗 Términos relacionados

Requisitos previos:

📚 Fuentes