PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

22
PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA Dr. René Arnulfo García Hernández [email protected]

description

PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA. Dr. René Arnulfo García Hernández [email protected]. Contenido. [Ejemplos de applets ] Elementos privados, públicos y protegidos Constructores Destructores Try catch Herencia [Arreglos, Matrices y Cadenas]. Ejemplo de applets. - PowerPoint PPT Presentation

Transcript of PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Page 1: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Dr. René Arnulfo García Herná[email protected]

Page 2: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Contenido

• [Ejemplos de applets]• Elementos privados, públicos y protegidos • Constructores• Destructores• Try catch• Herencia• [Arreglos, Matrices y Cadenas]

Page 3: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Ejemplo de applets

• Graficas y simulación– http://jmol.sourceforge.net/

• Expresiones regulares– http://myregexp.com/

• Botones y paneles– http://www.chuidiang.com/java/codigo_descarga

ble/appletpaneles.php

Page 4: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Elementos privados, públicos y protegidos

private, protected, package y public. El acceso por defecto es package.• public: puede ser usada por cualquier clase.• protected: puede ser usada por:

funciones miembros de la clase, funciones miembros de las subclases.funciones miembros de las clases del propio paquete.

• package: puede ser utilizada por todas las clases del paquete.

• private: sólo puede ser usado por las funciones miembros de la clase.

Page 5: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Elementos privados, públicos y protegidos

• Cuando no se especifican permisos de acceso (public, private o protected) se supone la opción por defecto, que es package.

• Si no se ha definido ningún paquete, se utiliza el package por defecto que es el directorio donde están definidas las clases.

• Es preciso especificar la visibilidad de cada miembro ya sea atributo o método de forma independiente.

Page 6: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Elementos privados, públicos y protegidos

Visibilidad

Acceso desde:

Propia clase subclases paquete Todas las clases

private X No No No

protected X según X No

public X X X X

por defecto X No X No

Visibilidad

Page 7: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Constructores - Ejemplopublic class TPunto {Private: int x; //Declaracion de una variable x int y; //Declarqcion de una variable yPublic: void Inicializar (int xcor,int ycor) { x=xcor; y=ycor; }//Fin Inicilizar

void TrasladarX(int xcor) { x=xcor; }//FinTrasLadarX

void Imprimir(){ System.out.println("Las coordenadas son: ("+x+","+y+")"); }//Fin Imprimir

}

public class Main {

/** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here System.out.println("Hola Mundo");

TPunto p1=new TPunto(); TPunto p2=new TPunto(); p1.x=89; p1.y=-59; //¿Sería correcto? p1.Inicializar(3, 2); p1.Imprimir(); p1.TrasladarX(10); p1.Imprimir();

p2.Inicializar(15, 6); p2.Imprimir();

}}

Page 8: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Métodos Constructores

Es un tipo especial de método utilizado cuando se crean objetos o instancias de una clase.

Caracteríticas:

• Su nombre coincide con el de la clase.

• No tiene valor de retorno (ni void)

• Una clase puede tener varios constructores (ejemplo típico de sobrecarga de funciones), pero la lista de parámetros tiene que variar.

• Los constructores deben diferir en tipo y/o cantidad de parámetro.

Page 9: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Constructores - características

• Si la clase tiene un constructor, todos los objetos de la clase deben ser inicializados invocándolo.

• Si el constructor tiene parámetros al invocarlo hay que suministrarlos.

• De no definirse un constructor para la clase, el compilador genera un constructor por defecto.

• El constructor por defecto, no tiene parámetros e inicializa cada atributo con el valor nulo por defecto.

• Si un constructor no tiene parámetros se considera el constructor por defecto.

Page 10: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Constructores - Ejemplopublic class TPunto {

int x; //Declaracion de una variable x int y; //Declarqcion de una variable y

void Inicializar (int xcor,int ycor) { x=xcor; y=ycor; }//Fin Inicilizar

void TrasladarX(int xcor) { x=xcor; }//FinTrasLadarX

void Imprimir(){ System.out.println("Las coordenadas son: ("+x+","+y+")"); }//Fin Imprimir

}

public class Main {

/** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here System.out.println("Hola Mundo");

TPunto p1=new TPunto(); TPunto p2=new TPunto(); p1.Imprimir(); // ¿Qúe va a imprimir? p1.Inicializar(3, 2); p1.Imprimir(); p1.TrasladarX(10); p1.Imprimir();

p2.Inicializar(15, 6); p2.Imprimir();

}}

Page 11: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Constructores - Ejemplopublic class TPunto {

int x; //Declaracion de una variable x int y; //Declarqcion de una variable y

TPunto ( void ) { // constructor sin paso de parámetros x=0; y=0; } TPunto (int xcor,int ycor) { // constructor con paso de parámetros x=xcor; y=ycor; } void Inicializar (int xcor,int ycor) { x=xcor; y=ycor; }//Fin Inicilizar void TrasladarX(int xcor) { x=xcor; }//FinTrasLadarX void Imprimir(){ System.out.println("Las coordenadas son: ("+x+","+y+")"); }//Fin Imprimir

}

public class Main {

/** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here System.out.println("Hola Mundo");

TPunto p1=new TPunto(); TPunto p2=new TPunto(2,7); p1.Imprimir(); // ¿Qúe va a imprimir? p1.Inicializar(3, 2); p1.Imprimir(); p1.TrasladarX(10); p1.Imprimir(); p2.Imprimir(); p2.Inicializar(15, 6); p2.Imprimir();

}}

Page 12: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Destructores

• Un destructor es un método que se invoca automáticamente cuando el objeto se destruye. Java no posee destructores, porque tiene recolección de basuras. – C++ posee destructores

Page 13: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Try-catch-finally

• Se utilizan para probar un conjunto de sentencias susceptibles a errores, en caso de ocurrir se ejecutan las sentencias de catch y luego las sentencias de finally

Page 14: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Ejemplo de try-catch-finallyfloat x;try { x=23/0;}catch ( exception e) { system.out.println( “ ERROR: valor indefinido”);} finally;

Page 15: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Arreglos

• Un arreglo es una cadena de datos u objetos del mismo tipo

• Una matriz es un arreglo de arreglos. Un arreglo de 3 dimensiones es un arreglo de arreglos que contiene arreglos

• En java se declara como• tipo_dato []…[] nombre_de_la_variable

Page 16: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Representación de un arreglo

• int x=0;• int x[4];• int x[4]={4,56,3,23};• int x[4][3];

• int x[4][3][2];

0

0 0 0 0

4 56 3 23

0

Page 17: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

HerenciaJava permite el empleo de la herencia , característica muy potente que permite definir una clase tomando como base a otra clase ya existente. Esto es una de las bases de la reutilización de código, en lugar de copiar y pegar. En java, como ya vimos la herencia se especifica agregando la cláusula extends después del nombre de la clase. En la cláusula extends indicaremos el nombre de la clase base de la cuál queremos heredar. Al heredar de una clase base, heredaremos tanto los atributos como los métodos, mientras que los constructores son utilizados, pero no heredados.

Page 18: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Ejemplo de herencia

public class TTaxista extends TPersona { private int nLicencia;

public void setNLicencia (int num)

{ nLicencia = num; } public int getLicencia() { return nLicencia; }

}

Construyamos la clase TTaxista.java con el siguiente código:

public class TPersona { private String Nombre; private String CURP;

TPersona (String Name, String RN) { Nombre = Name; CURP = RNP; } }

Page 19: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Herencia

TPuntoX,Y,

TPunto()Iniciar()Imprimir()Trasladar()

TObjeto

TSegmentoTPunto Inicio,TPunto Final,

TSegmento()Iniciar()Imprimir()Trasladar()Pendiente()

TPolígono

TPolígono()Trasladar()Perímetro()Area()Rotar()

Un polígono es una figura geométrica formada por segmentos consecutivos no alineados, llamados lados.

Page 20: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Herencia

TPuntoX,Y,TPunto()Iniciar()Imprimir()Trasladar()

TObjeto

TSegmentoTPunto Inicio,TPunto Final,TSegmento()Iniciar()Imprimir()Trasladar()Pendiente()

TElipseTPunto VérticesTPolígono()Trasladar()Perímetro()Area()Rotar()

TCuadrilateroTPunto Inicio,TPunto Final,TSegmento()Iniciar()Imprimir()Trasladar()Pendiente()

TPolígonoTPunto VérticesTPolígono()Trasladar()Perímetro()Area()Rotar()

TTrianguloTPunto VérticesTPolígono()Trasladar()Perímetro()Area()Rotar()

Page 21: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Aplicaciones

Page 22: PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

Variables Miembros

Funciones miembros

FloristaNombreSalarioEdadVender floresEnviar flores a otra ciudad

Ejemplos:

Variables Miembros

Funciones miembros

BombilloConsumoEnceder ApagarAumentar BrilloDisminuir brillo

Notación UML para representar una clase