7.5 Objetos

7.5.1 Representación gráfica de un objeto

La notación UML de un objeto es un rectángulo con dos compartimentos. El compartimento superior contiene el nombre de un objeto y el nombre de la clase a la cual pertenece ese objeto. La sintaxis es:

nombreobjeto: nombreclase

El compartimiento inferior contiene la lista de nombres de atributos y sus valores. Los tipos de atributos se pueden mostrar utilizando la sintaxis:

nombreatributo: tipo = valor

Ejemplo: Objeto C1 de la clase Curso con dos atributos.

7.5.2 Declaración de objetos

La sentencia

NombreClase : obj1, obj2

define dos objetos obj1 y obj2. La definición de un objeto es similar a la definición de una variable de cualquier tipo de datos. Se reserva espacio en memoria para una variable que puede referenciar dichos objetos. La creación física del objeto se denomina instanciación. La instanciación se efectúa mediante la palabra nuevo, empleada por ejemplo en una sentencia de asignación de la siguiente forma,

//llamada al constructor por defecto, sin argumentos
obj1 <- nuevo NombreClase()

Para acceder a los miembros de un objeto se emplea el operador punto (.)

<nombre_objeto>.<nombre_miembro> [(lista_de_parámetros_actuales)]

La llamada o invocación a un método se puede realizar de dos formas, dependiendo de que el método devuelva o no un valor.

  1. Si el método devuelve un valor, la llamada al método se trata normalmente como un valor.
  2. Si el método realiza una acción distinta a devolver un único valor, una llamada al método debe ser una sentencia/instrucción.

Así dada la declaración: CuentaCorriente: miCuenta, las llamada a los métodos depositar y obtenerSaldo se podrían efectuar de la siguiente forma:

miCuenta.depositar(2400)
saldo <- miCuenta.obtenerSaldo()