Classe

Um projeto ou modelo definido pelo usuário para criar objetos, especificando seus dados (atributos) e comportamentos (métodos).

Uma classe é um conceito fundamental na programação orientada a objetos (POO). Ela atua como um projeto arquitetônico para criar objetos (instâncias).

Componentes de uma Classe:
- Atributos (Campos/Propriedades): Dados que o objeto armazenará (ex: nome, idade).
- Métodos (Funções): Ações que o objeto pode realizar (ex: latir(), calcularSalario()).
- Construtor: Método especial para inicializar novos objetos.

Relação Classe-Objeto:
Se Carro é a classe, então meuToyotaVermelho é um objeto (instância) dessa classe.

        graph LR
  Center["Classe"]:::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;

      

🧒 Explique como se eu tivesse 5 anos

Uma classe é como uma planta de uma casa. Ela diz quantos quartos haverá e onde vão as janelas. Mas você não pode morar na planta. Você tem que construir a casa real (o objeto) com base na planta. Você pode construir muitas casas diferentes (objetos) a partir da mesma planta (classe).

🤓 Expert Deep Dive

Classes definem polimorfismo, herança e encapsulamento. Classes abstratas não podem ser instanciadas e servem como base para subclasses. Interfaces definem contratos sem implementação. Metaclasses (em Python/Smalltalk) são classes que criam classes. Membros estáticos pertencem à própria classe, não às instâncias.

🔗 Termos relacionados

Pré-requisitos:

📚 Fontes