Clases y objetos

Mapa conceptual
- Programacion OO
- Clases
- Objetos
- Atributos
- Metodos self
- Encapsulamiento
- Public
- Private
- Properties
- Herencia
- Polimorfismo
- Abstractas
- Interfaces
- Composicion
- Sobre herencia
- Delegacion
- Acoplamiento
- Proyecto
- Paquetes
- Modulos
- Convenciones
- Clases
Clase: el plano
Una clase es una plantilla que describe qué datos tendrá algo y qué podrá hacer. No es un objeto concreto: es la definición. Como el plano de un arquitecto, especifica la estructura sin ser ninguna casa en particular.
Objeto: la instancia
Un objeto es una construcción concreta a partir de la clase: una instancia. Si la clase es «Perro», «Lassie» es un objeto: tiene su propio nombre y edad, pero sabe hacer lo que todo perro sabe hacer. De una clase pueden nacer infinitos objetos, cada uno con su estado.
Atributos y métodos
- Atributos (o campos): los datos que cada objeto guarda, como nombre o edad.
- Métodos: las funciones asociadas a la clase que operan sobre esos datos, como ladrar o cumplir_años.
Encapsulamiento natural
Al agrupar datos y operaciones, el objeto se vuelve un «sustantivo» del programa: un carro, una cuenta bancaria, un vector. El código se parece al dominio que modela, y eso lo hace más legible y fácil de mantener.
| Concepto | Analogía | En código (idea) |
|---|---|---|
| Clase | El plano | class Perro: ... |
| Objeto / instancia | Una casa construida | mi_perro = Perro(Lassie) |
| Atributo | La información de la casa | self.nombre |
| Método | Lo que la casa sabe hacer | mi_perro.ladrar() |
¿Cuál es la relación correcta entre clase y objeto?
Instanciar
Crear un objeto se llama instanciar. Se invoca la clase como si fuera una función: el resultado es un objeto nuevo con sus atributos ya separados. Dos instancias de la misma clase no comparten estado: cambiar el nombre de un perro no afecta a otro.
Un modelo del mundo
La POO brilla cuando el problema tiene entidades claras: usuarios, productos, transacciones. Cada una se vuelve una clase con sus datos y su comportamiento, y el programa se organiza como un pequeño mundo de objetos que se mensajean entre sí.
En POO, dos objetos de la misma clase comparten automáticamente sus atributos.
Mensajes entre objetos
Trabajar con objetos es enviarles mensajes: llamar a sus métodos. Un objeto no necesita exponer cómo internamente cumple la orden; basta con que respete la promesa del método. Esa opacidad controlada es la que permite construir sistemas grandes.
Errores frecuentes
- Tratar la clase como si fuera un objeto único y olvidarse de instanciar.
- Meter demasiada lógica en funciones sueltas en vez de en los objetos que dueños de esos datos son.
- Confundir atributo de clase (compartido) con atributo de instancia (por objeto).
Clasifica cada elemento de un programa:
Arrastra cada ficha a su categoría (o tócala y luego toca la categoría). También puedes usar el teclado.
Real PythonGuía introductoria de clases y objetos en Python.
Elige un objeto cotidiano (un elevador, una tarjeta de transporte) y define qué clase sería, qué atributos guardaría y qué métodos expone. Justifica por qué pertenece a un objeto y no a una función suelta.
Tu texto se guarda sólo en este dispositivo.
Python: ClassesTutorial oficial de clases en Python 3.
Comentarios
Inicia sesión para comentar.
Todavía no hay comentarios. Sé la primera persona en opinar.