Skip to content

Objetos

Juan-Pablo Silva edited this page Aug 22, 2019 · 6 revisions

Objetos

Como ya hemos dicho, Java es un lenguaje orientado a objetos, por lo que claro, posee objetos. En esta pagina explicaremos que es realmente y como deberia entenderse.

Que son

La respuesta corta y simple es: la instancia de una clase. Pero con una respuesta asi seguramente uno queda donde mismo.

Una forma de explicar que es un objeto es compararlo con lo que ya conocemos como tipos primitivos. Sabemos que los tipos primitivos representan una sola clase de informacion, algo muy simple. Contrastando con eso, un objeto no es solo una muestra pura de informacion, este esta compuesto por:

  • Campos: las variables de nuestro objeto. En ingles se conocen como fields, data, attributes, properties. Basicamente los campos definen el estado del objeto. Cada objeto tiene su propio estado interno.
  • Metodos: las acciones que puede realizar un objeto. Los metodos definen los mensajes que un objeto entiende y por lo tanto es su forma de comunicarse con el mundo.
  • Herencia: el conjunto de jerarquia que corresponde al objeto mismo. Puede leer mas en Herencia.

Con esto podemos ver que un objeto es mas que solo una forma de almacenar informacion. Un objeto posee su propio estado interno mediante sus atributos, y define su propia forma de comunicarse con el mundo usando los metodos.

Entendiendo los objetos

Considerando que es un objeto, lo mas simple es intentar describirlo usando sus sub-unidades. Imaginen lo siguiente:

  • Un objeto es un sustantivo. Un Perro por ejemplo.
  • Los atributos o campos de un objeto son sus adjetivos. Un Perro tiene colorDePelo y peso, entre otras caracteristicas.
  • Los metodos de un objeto representan un verbo. Un Perro puede ladrar y comer.

Cosas en que fijarse

  1. Los objetos se crean usando el keyword new.
  2. Los objetos son una instancia de una clase.
  3. Los objetos se comparan usando equals, no ==. Mas detalles en == vs .equals().

this y super

this como autoreferencia

this y super para desambiguar variables

Clone this wiki locally