Clases, objetos e instancias
El primer concepto y más importante de la POO es la distinción entre clase y objeto.
Una clase es una plantilla. Define de manera
genérica cómo van a ser los objetos de determinado tipo. Por ejemplo, en
un juego, una clase para representar a personas puede llamarse Persona
y tener una serie de atributos como Nombre
, Apellidos
o Edad
(que normalmente son propiedades), y una serie de comportamientos que pueden tener, como Hablar()
, Caminar()
o Comer()
y que se implementan como métodos de la clase (funciones).
Una clase por sí sola no sirve de nada, pues no es más que un
concepto, sin entidad real. Para poder utilizar una clase en un programa
lo que hay que hacer es instanciarla. Instanciar una clase consiste en crear un nuevo objeto concreto de la misma. Es decir, un objeto es ya una entidad concreta
que se crea a partir de la plantilla que es la clase. Este nuevo objeto
tiene ya "existencia" real, puesto que ocupa memoria y se puede
utilizar en el programa. Así un objeto puede ser una persona que se
llama Cristina López
, de 37 años y que en nuestro programa
podría hablar, caminar o comer, que son los comportamientos que están
definidos en la clase.
Una imagen vale más que mil palabras:
De este modo, si tenemos que manejar personas podemos ir creándolas a medida que las necesitemos, y actuar sobre ellas individualmente. Cada una tiene sus propios datos y sus propias acciones.
La clase define de forma genérica cómo son las personas, y los objetos son personas concretas.
La POO es muy potente porque nos permite modelar de manera sencilla datos y comportamientos complejos del mundo real. Al poder manejar los datos y los comportamientos de cada objeto de manera independiente nos evita tener que mantener datos globales y coordinar todo eso. En su momento fue una verdadera revolución.
Comentarios
Publicar un comentario