Inicio » Informática profesional. » Programación » Curso de UML » 1- Programación orientada a objetos

Curso de UML

1- Programación orientada a objetos


Inscríbete ahora y accede a 1 unidades gratis

Evalua el curso de UML y accede a las 1 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Introducción

La programación orientada a objetos facilita la creación de software de calidad ya que fomenta su fácil mantenibilidad, alta escalabilidad y la reutilización de componentes software.

La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la máquina. Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las entidades del dominio del problema, y a propiedades como la herencia o el encapsulamiento.

El elemento básico de la POO es el objeto. Un objeto es la representación de un concepto para un programa, y contiene toda la información necesaria para abstraer dicho concepto: los datos que describen su estado y las operaciones o métodos que pueden modificar dicho estado. Ejemplo: SerHumano, Ciudad, CuentaBancaria, etc


Inscríbete ahora y accede a 1 unidades gratis

Evalua el curso de UML y accede a las 1 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Objetos

Se puede definir objeto como el "encapsulamiento de un conjunto de operaciones (métodos) que pueden ser invocados externamente, y de un estado que recuerda el efecto de los servicios". [Piattini et al., 1996].

Un objeto, además de un estado interno, presenta una interfaz para poder interactuar con el exterior. Es por esto por lo que se dice que en la programación orientada a objetos "se unen datos y procesos", y no como en su predecesora, la programación estructurada, en la que estaban separados en forma de variables y funciones.

Un objeto consta de:

  • Tiempo de vida: la duración de un objeto en un programa siempre está limitada en el tiempo. La mayoría de los objetos sólo existen durante una parte de la ejecución del programa. Los objetos son creados mediante un mecanismo denominado instanciación, y cuando dejan de existir se dice que son destruidos.

  • Estado: todo objeto posee un estado, definido por sus atributos. Con él se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia.

  • Comportamiento: todo objeto ha de presentar una interfaz, definida por sus métodos, para que el resto de objetos que componen los programas puedan interactuar con él.


Inscríbete ahora y accede a 1 unidades gratis

Evalua el curso de UML y accede a las 1 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Clases

Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz común.

Podemos definir una clase como un conjunto de cosas (físicas o abstractas) que tienen una serie de características y comportamiento comunes. En este sentido, una clase se puede considerarse como una plantilla o molde que sirve para la creación o instanciación de objetos.

Ejemplo: se nos puede ocurrir pensar en una cuenta bancaria.

¿Qué caracteriza a las cuentas bancarias? Todas tienen un número de veinte dígitos, están asociadas a un titular y presentan un saldo aunque, por supuesto, dichas características para cada cuenta bancaria pueden ser distintas.

  • Características comunes: todas las cuentas tienen número identificativo, titular y saldo.
  • Comportamiento común: en todas las cuentas se pueden realizar dos operaciones básicas: depositar y retirar dinero.

No es que las citadas anteriormente sean todas las características que definen a una cuenta bancaria, pero sí en las que se está interesado como responsable de modelar un objeto de negocio del sistema software que se está diseñando.

  • ¿Cómo se representan las características comunes a nivel de código?

Mediante atributos de clase.

Ejemplo:

package cuentabancaria;

 // Declaración de clase

public class CuentaBancaria{

        // Atributos de clase. Son variables de instancia

private String numero;

private String titular;

private double saldo;

// Método constructor de la clase. Es invocado cada vez que se crea o instancia un objeto de la clase

public CuentaBancaria(String numeroCuenta, String titularCuenta, double cantidaInicial) {

numero = numeroCuenta;

titular = titularCuenta;

saldo = cantidaInicial;

}

...

Las clases representan el estado de los objetos mediante los valores que dichos atributos asumen para cada uno de ellos. En la mayoría de lenguajes orientados a objetos, estos atributos son implementados mediante variables de instancia (declaradas justo después de la clase y accesibles a todos los métodos de la misma).

¿Cómo se crea o instancia un objeto de la clase CuentaBancaria?

CuentaBancaria cuenta1 = new CuentaBancaria("12345678901234567890", "Juan Sanz", 1000);

CuentaBancaria cuenta2 = new CuentaBancaria("98765432109876543210", "Sara Gil", 3000);

  • ¿Cómo se representan el comportamiento común a nivel de código?

Mediante métodos.

Ejemplo:

...

public void retirar(double cantidad) throws NoFondosDisponiblesException {

if (saldo >= cantidad) {

saldo = saldo - cantidad;

}

else

throw new NoFondosDisponiblesException("No hay suficientes fondos");

}

public void depositar(double cantidad){

if(cantidad > 0){

saldo = saldo + cantidad;

}

}

...

Los métodos permiten a las clases modificar el comportamiento de los objetos, cambiando los valores de los atributos e interactuando con otros métodos de la clase que expongan una determinada funcionalidad precisada.

Ejemplo de llamada a un método:

cuenta1.depositar(300);

Esta línea de código invoca al método despositar y provoca un cambio de valor en el atributo saldo del objeto de la clase CuentaBancaria cuya referencia es cuenta1: antes de la llamada, el saldo era de 1000, pero después será de 1300.


Inscríbete ahora y accede a 1 unidades gratis

Evalua el curso de UML y accede a las 1 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de UML y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.