← Lumbre

Programación Orientada a Objetos · 2.º Clases y objetos

Portada de Clases y objetos

Clases y objetos

✦ Una clase es un plano; un objeto, una casa construida con él · Programación Orientada a Objetos · Programación · y te lleva 8 minutos

Roadwise Consulting

Firmado y verificado · Biblioteca UNIV

Objetivo: Definir clase y objeto como patrón e instancia, y modelar un dominio agrupando datos y comportamiento en una misma unidad.

8 min Programación Orientada a Objetos · Programación 18–30 años
Más
Clases y objetos

Herramientas de la lección

◉ Entrar a La Matrix Sorpréndeme

Sobre este contenido

Ir a

Volver a Programación Orientada a Objetos · 2.º semestre Cursos Explorar Mi cuenta Salir del modo estudio

Clases y objetos

Ilustracion de programacion orientada a objetos: jerarquia de clases con herencia y encapsulamiento.
Principios de la programacion orientada a objetos: clases, herencia y polimorfismo.

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

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.

La clase define; el objeto vive.
ConceptoAnalogíaEn código (idea)
ClaseEl planoclass Perro: ...
Objeto / instanciaUna casa construidami_perro = Perro(Lassie)
AtributoLa información de la casaself.nombre
MétodoLo que la casa sabe hacermi_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.

Video complementario
Recurso audiovisual para reforzar los conceptos.

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.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
Más sobre esta lección
Explora temas relacionados

Conceptos

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.