Está en la página 1de 34

Por: Guadalupe Lpez Reyes lupitalre@hotmail.

com

Paradigmas de Programacin
Prog. Orientada a Objetos Tipos Abstractos de Datos Programacin Estructurada Programacin Imperativa

Programacin Estructurada
y Se introdujo a mediados de los aos sesenta. y Se escriban programas con las siguientes reglas:  El programa tiene un diseo modular  Los mdulos son diseados de modo descendente  Cada mdulo se codifica utilizando las tres estructuras de control bsicas: secuencia, seleccin y repeticin. Utiliza un nmero limitado de estructuras de control

que minimizan la complejidad de los programas y, por consiguiente, reducen los errores.

Programacin Estructurada

Por qu la Orientacin a Objetos?


y La programacin orientada a objetos se propone

emplear entidades lo ms cercanas posibles a la realidad. y Facilita la creacin de software de calidad por sus factores que potencian el mantenimiento, la extensin y la reutilizacin del software. y Trata de amoldarse al modo de pensar del hombre y no al de la mquina

Principio de abstraccin
y Mediante la abstraccin la mente humana modeliza la

realidad en forma de objetos. Para ello busca parecidos entre la realidad y la posible implementacin de objetos del programa que simulen el funcionamiento de los objetos reales

Principio de encapsulamiento
y Permite a los objetos elegir qu informacin es

publicada y qu informacin es ocultada al resto de los objetos. Para ello los objetos suelen presentar sus mtodos como interfaces pblicas y sus atributos como datos privados e inaccesibles desde otros objetos.
y Para

permitir que otros objetos consulten o modifiquen los atributos de los objetos, las clases suelen presentar mtodos de acceso.

Principio de herencia
y La mayora de nosotros ve de manera natural nuestro mundo como objetos que se relacionan entre s de una manera jerrquica. Por ejemplo, un perro es un mamfero, y los mamferos son animales, y los animales seres vivos... y Mediante la herencia una clase hija puede tomar determinadas propiedades de una clase padre. As se simplifican los diseos y se evita la duplicacin de cdigo al no tener que volver a codificar mtodos ya implementados.

Principio de Polimorfismo
y Polimorfismo quiere decir "un objeto y muchas

formas". Esta propiedad permite que un objeto presente diferentes comportamientos en funcin del contexto en que se encuentre. Por ejemplo un mtodo puede presentar diferentes implementaciones en funcin de los argumentos que recibe, recibir diferentes nmeros de parmetros para realizar una misma operacin, y realizar diferentes acciones dependiendo del nivel de abstraccin en que sea llamado.

Principio de Polimorfismo
Animal dormir()
} Dormir() {

Len dormir()
Dormir() { sobre el vientre }

Oso dormir()
Dormir() { Sobre la espalda }

Tigre dormir()
Dormir() { en un rbol }

Clases en Java
y Para definir una clase en Java se utiliza la palabra

reservada class seguida del nombre de la clase (identificador). public class MiClase{ }

Nota: Es necesario que utilicemos el modificador de acceso public para que podamos usar nuestra clase desde el exterior.

Clases en Java
Vemos que la clase define su nombre al principio de la estructura.

Toda la clase se escribe entre dos llaves {}. Lo primero que se suele definir son los atributos de la clase. Esto son variables que son visibles desde todos los mtodos que constituyen la clase. A continuacin se escriben los constructores de la clase. Estos no devuelven ningn valor y contienen las instrucciones que crean los objetos de su clase. Puede haber varios constructores. Se tienen que diferenciar en los argumentos que cada uno de ellos recibe. Despus se escriben los diferentes mtodos de la clase. Estos son funciones que al igual que los atributos pueden ser pblicos, privados o protegidos. De nuevo todas las instrucciones que constituyen un mtodo se escriben entre dos llaves {}. Obsrvese tambin que cada instruccin se termina con un punto y coma ;.

Representacin de una clase (UML)


Cuenta -saldo : double = 0 -limite : double +ingresar(cantidad : double) +retirar(cantidad : double)

Objeto
Objeto =Identidad + Estado + Comportamiento
La identidad en un objeto lo identifica como nico. Es independiente de su Estado. No cambia durante la vida del objeto. El estado de un objeto viene dado por el valor de sus atributos. Cada atributo toma un valor en un dominio concreto. El estado de un objeto evoluciona con el tiempo. Los atributos de un objeto no deber ser directamente manipulables por el resto de objetos del sistema.

Objeto
Los mtodos que definen el comportamiento de un objeto. y Agrupan las competencias del objeto(responsabilidades). y Describen sus acciones y reacciones. y Las acciones realizadas por un objeto son consecuencia de un mensaje enviado desde otro objeto.

Declaracin de atributos de una clase


public class Cuenta{
private double saldo=0; private double limite;

Definicin de mtodos
public class Cuenta{
private double saldo=0; private double lmite; public void ingresar (double cantidad){ saldo=saldo+cantidad; } public void retirar (double cantidad){ saldo=saldo-cantidad; }

El operador .
y El operador . (punto) nos permite acceder a los

distintos miembros de una clase. objeto.miembro Ejemplo: cuenta.saldo Nos permite acceder al valor numrico correspondiente al saldo de una cuenta, siempre y cuando cuenta sea una instancia de la clase Cuenta.

Cmo se le enva un mensaje a un mtodo?


y Invocando uno de sus mtodos

objeto.mtodo (lista de parmetros) Ejemplo: cuenta.ingresar(150.00);

El operador new
El operador new nos permite crear objetos en java.
Tipo identificador = new Tipo();

El constructor
y Cuando utilizamos el operador new acompaado del

nombre de una clase, se crea un objeto del tipo especificado. y Al crear un objeto de una clase concreta, se invoca a un mtodo especial de esa clase, denominado constructor que es el que se encarga de inicializar el Estado del objeto. y Su nombre debe coincidir con el nombre de la clase y Por definicin no devuelven nada.

public class Cuenta{ public static final double LIMITE_NORMAL = 3000.00 private double saldo; private double lmite; public Cuenta(){ this.saldo=0; this.limite=LIMITE_NORMAL; } public void ingresar (double cantidad){ saldo=saldo+cantidad; } public void retirar (double cantidad){ saldo=saldo-cantidad; } }

Mtodos
y Los mtodos definen el comportamiento de los objetos

de una clase dada (lo que podemos hacer con los objetos de esa clase). y Un mtodo define la secuencia de sentencias que se ejecuta para llevar a cabo una operacin. y Los mtodos nos dicen como vamos a usar los objetos de una clase.

Sintaxis en Java de un mtodo


modificador tipo nombre (parmetros){

//Declaraciones de variables //Sentencias ejecutables //Devolucin de un valor (opcional)


}

Uso de los mtodos


y Para enviarle un mensaje a un objeto, invocamos y y y y

(llamamos) a uno sus mtodos. Podemos llamar a uno de los mtodos del objeto con el operador . Despus del nombre del mtodo entre parntesis se indican sus parmetros (si es que los tiene). Podemos usarlo cuantas veces queramos. Ejemplo:
Cuenta cuenta=new Cuenta(); cuenta.mostrarMovimientos();

Parmetros de un mtodo
y A travs de los parmetros se especifican los datos de

entrada que requiere el mtodo para hacer su operacin. y En la definicin de un mtodo la lista de parmetros formales establece:
y Cuntos parmetros tiene el mtodo y El tipo de valores que se usaran y El orden en que han de especificarse

Parmetros de un mtodo
y En la invocacin de un mtodo se han de especificar: y Los valores concretos para los parmetros y Los valores que se utilizan como parmetros al invocar un mtodo de denominan parmetros actuales (o argumentos ) y Cuando se realiza la llamada a un mtodo, los valores indicados como parmetros actuales se asignan a los parmetros formales. y Obviamente, el nmero y tipo de los valores indicados en la llamada al mtodo debe coincidir con el nmero y tipo de los parmetros especificados en la definicin del mtodo.

La sentencia return
y Cuando un mtodo devuelve un resultado, la

implementacin del mtodo debe terminar con una sentencia return.


return expresin;

y El tipo de la expresin debe coincidir con el tipo del

valor devuelto por el mtodo, tal como este se haya definido en la cabecera del mtodo.

La sentencia return
y Ejemplo:
import java.util.*; public class PromedioEdad{ public static float Promedio(float n1, float n2) { return (n1+n2)/2; } public static void main(String[] args){ float resultado=Promedio(7,8); System.out.println(Promedio= +resultado); } }

Convenciones set y get


y Muchas clases suelen incluir mtodos pblicos que

permiten acceder y modificar las variables de instancia desde el exterior de la clase. y Por convencin los mtodos se denominan
y getX para obtener la variable de instancia X y setX para establecer el valor de la variable de instancia X

y No es obligatorio pero resulta conveniente si queremos

desarrollar componentes reutilizables (denominados JavaBeans) y facilitar su uso posterior.

Ejemplo:
import javax.swing.*; public class Hipoteca{ double interes; double cantidad; int tiempo; public Hipoteca(double importe,double tipoAnual,int anios){ cantidad=importe; interes=tipoAnual; tiempo=anios; } public double getCantidad(){ return cantidad; } public void setCantidad(double importe){ cantidad=importe; } public double getInteres(){ return interes; } public void setInteres(double tipoAnual){ interes=tipoAnual; }

public static void main(String[] args){ double cantidad2; double interes2; int tiempo2; Hipoteca hipoteca; cantidad2=Double.parseDouble(JOptionPane.showInputDialog("Importe de la Hipoteca")); interes2=Double.parseDouble(JOptionPane.showInputDialog("Tipo de Interes (%)")); tiempo2=Integer.parseInt(JOptionPane.showInputDialog("Periodo de amortizacin (aos)")); hipoteca =new Hipoteca(cantidad2,interes2,tiempo2); JOptionPane.showMessageDialog(null,"Cuota Mensual = "+hipoteca.getMensualidad()); System.exit(0); } }

public int getTiempo(){ return tiempo; } public void setTiempo(int anios){ this.tiempo=anios; } public double getMensualidad(){ double interesMensual=interes/(12*100); double mensualidad=(cantidad*interesMensual) /(1.0- 1.0/Math.pow(1+interesMensual,tiempo*12)); return Math.round(mensualidad*100)/100.0; }

Conceptos que se deben dominar


y y y y y y y y y y y y y y

Clase Objeto Abstraccion Encapsulamiento Polimorfismo Herencia Atributos Mtodos El operador (.) El operador new El Constructor Los parmetros La sentencia return Convenciones set y get

También podría gustarte