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).

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