Objetos (programación orientada a objetos)
Keywords: Objetos (programación orientada a objetos), Abstracción (programación orientada a objetos), C más más, Clase, Herencia en programación orientada a objetos, Java (lenguaje de programación), Lenguaje de programación, Métodos (programación orientada a objetos), Programación orientada a objetos
El objeto es uno de los conceptos básicos en la programación orientada a objetos. Se los puede considerar como una de las abstracciones principales que permite estructurar un programa en torno a entidades que representen parte de la realidad.
Las características principales de un objeto son su identidad, su estado y su comportamiento. La primera permite distinguirlo de otros objetos y es fácilmente identificable gracias a los nombres que éstos poseen. El estado, por su parte, describe las propiedades (ó datos) del objeto mientras que el comportamiento señaliza qué tipo de interacción puede comprender el objeto (sus métodos). Los términos utilizados para describir al objeto dependen en gran medida del contexto; el término estado también puede ser reemplazado por propiedades (Visual Basic), atributos (Java), miembros de datos (C++), etc.
También se puede considerar que los objetos son instancias de una clase en particular. Esto es decir, hablando menos formalmente, que las clases son generalizaciones de objetos.
Ejemplo
Podemos tener, por ejemplo, una clase denominada Perro con determinadas propiedades y comportamientos. Una vez creada dicha clase podemos crear una instancia de la misma llamada "Fido" que tendrá ciertas propiedades específicas y los comportamientos de dicha clase.
Sin hacer referencia a ningún lenguaje de programación en particular (algo así como pseudocódigo), podríamos tener definido lo siguiente:
definir clase Perro:
propiedad sexo en {macho, hembra}
propiedad color en {blanco, marrón, negro, mixto}
propiedad cansancio en (nada, poco, moderado, mucho, exhausto)
... otras propiedades ...
método paseo() devuelve cansancio
método quieto() devuelve nada
método muertito() devuelve nada
método comer(Comida) devuelve nada
... otros comportamientos ...
crear Fido:
método buscar() devuelve rama
propiedad vacunas colección
Fido.sexo = macho
Fido.color = marrón
crear Princesa:
Princesa.sexo = hembra
Princesa.color = blanco;
Éste ejemplo se limita a ser ilustrativo. Fido y Princesa como instancias son totalmente independientes una de la otra; sin embargo, cualquier cambio que se le haga a la clase principal afectará a los objetos correspondientes (herencia).
