Sie sind auf Seite 1von 22

PROGRAMACIN ORIENTADA A OBJETOS EN JAVA

Dr. Ren Arnulfo Garca Hernndez renearnulfo@hotmail.com

Contenido
[Ejemplos de applets] Elementos privados, pblicos y protegidos Constructores Destructores Try catch Herencia [Arreglos, Matrices y Cadenas]

Ejemplo de applets
Graficas y simulacin
http://jmol.sourceforge.net/

Expresiones regulares
http://myregexp.com/

Botones y paneles

http://www.chuidiang.com/java/codigo_descargable

Elementos privados, pblicos 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: slo puede ser usado por las funciones miembros de la clase.

Elementos privados, pblicos y protegidos


Cuando no se especifican permisos de acceso (public, private o protected) se supone la opcin por defecto, que es package. Si no se ha definido ningn paquete, se utiliza el package por defecto que es el directorio donde estn definidas las clases. Es preciso especificar la visibilidad de cada miembro ya sea atributo o mtodo de forma independiente.

Elementos privados, pblicos y protegidos


Visibilida d
Acceso desde: Visibilidad private protected public por defecto Propia clase X X X X subclases No segn X No paquete No X X X Todas las clases No No X No

Constructores - Ejemplo
public class TPunto { Private: int x; //Declaracion de una variable x int y; //Declarqcion de una variable y Public: 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; //Sera correcto? p1.Inicializar(3, 2); p1.Imprimir(); p1.TrasladarX(10); p1.Imprimir(); p2.Inicializar(15, 6); p2.Imprimir(); }

Mtodos Constructores
Es un tipo especial de mtodo utilizado cuando se crean objetos o instancias de una clase. Caracterticas: Su nombre coincide con el de la clase. No tiene valor de retorno (ni void) Una clase puede tener varios constructores (ejemplo tpico de sobrecarga de funciones), pero la lista de parmetros tiene que variar. Los constructores deben diferir en tipo y/o cantidad de parmetro.

Constructores - caractersticas
Si la clase tiene un constructor, todos los objetos de la clase deben ser inicializados invocndolo. Si el constructor tiene parmetros 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 parmetros e inicializa cada atributo con el valor nulo por defecto. Si un constructor no tiene parmetros se considera el constructor por defecto.

Constructores - Ejemplo
public 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(); // Qe va a imprimir? p1.Inicializar(3, 2); p1.Imprimir(); p1.TrasladarX(10); p1.Imprimir(); p2.Inicializar(15, 6); p2.Imprimir(); }

Constructores - Ejemplo
public class TPunto { int x; //Declaracion de una variable x int y; //Declarqcion de una variable y TPunto ( void ) { // constructor sin paso de parmetros x=0; y=0; } TPunto (int xcor,int ycor) { // constructor con paso de parmetros 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(); // Qe va a imprimir? p1.Inicializar(3, 2); p1.Imprimir(); p1.TrasladarX(10); p1.Imprimir(); p2.Imprimir(); p2.Inicializar(15, 6); p2.Imprimir(); }

Destructores
Un destructor es un mtodo que se invoca automticamente cuando el objeto se destruye. Java no posee destructores, porque tiene recoleccin de basuras.
C++ posee destructores

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

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

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

Representacin de un arreglo
int x=0; int x[4]; int x[4][3]; int x[4][3][2];
0 0 4 0 56 0 3 0 23

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

Herencia
Java permite el empleo de la herencia , caracterstica muy potente que permite definir una clase tomando como base a otra clase ya existente. Esto es una de las bases de la reutilizacin de cdigo, en lugar de copiar y pegar. En java, como ya vimos la herencia se especifica agregando la clusula extends despus del nombre de la clase. En la clusula extends indicaremos el nombre de la clase base de la cul queremos heredar. Al heredar de una clase base, heredaremos tanto los atributos como los mtodos, mientras que los constructores son utilizados, pero no heredados.

Ejemplo de herencia
Construyamos la clase TTaxista.java con el siguiente cdigo: public class TPersona { private String Nombre; private String CURP;

public class TTaxista extends TPersona (String Name, String RN) { TPersona { private int nLicencia; Nombre = Name; CURP = RNP; public void setNLicencia } (int num) } { nLicencia = num; } public int getLicencia() { return nLicencia; }

Herencia
TObjet o TPunto
X, Y, TPunto() Iniciar() Imprimir() Trasladar()

TSegmen to
TPunto Inicio, TPunto Final, TSegmento() Iniciar() Imprimir() Trasladar() Pendiente()

TPolgon o

TPolgono() Trasladar() Permetro() Area() Rotar()

Un polgono es una figura geomtrica formada por segmentos consecutivos no alineados, llamados lados.

Herencia
TObjet o TPunto
X, Y, TPunto() Iniciar() Imprimir() Trasladar()

TSegmen to
TPunto Inicio, TPunto Final, TSegmento() Iniciar() Imprimir() Trasladar() Pendiente()

TPolgon o
TPunto Vrtices TPolgono() Trasladar() Permetro() Area() Rotar()

TElipse
TPunto Vrtices TPolgono() Trasladar() Permetro() Area() Rotar()

TTriangul o
TPunto Vrtices TPolgono() Trasladar() Permetro() Area() Rotar()

TCuadrilat ero
TPunto Inicio, TPunto Final, TSegmento() Iniciar() Imprimir() Trasladar() Pendiente()

Aplicaciones

Ejemplos:
Variables Miembros Funciones miembros

Notacin UML para representar una clase Florista Nombre Salario Edad Vender flores Enviar flores a otra ciudad

Bombillo

Variables Miembros Funciones miembros

Consumo Enceder Apagar Aumentar Brillo Disminuir brillo

Das könnte Ihnen auch gefallen