UNIVERSIDAD LATINA (UNILA)

20
EI, Profesor Ramón Castro Liceaga Agosto de 2005 UNIVERSIDAD LATINA (UNILA) PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa) CONCEPTOS DE PROGRAMACION ORIENTADA A OBJETOS EN JAVA

description

UNIVERSIDAD LATINA (UNILA). PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa). CONCEPTOS DE PROGRAMACION ORIENTADA A OBJETOS EN JAVA. 2.1.- Que es Programación Orientada a Objetos. Es un estilo de programación en que cada programa es visto como un objeto - PowerPoint PPT Presentation

Transcript of UNIVERSIDAD LATINA (UNILA)

Page 1: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

UNIVERSIDAD LATINA (UNILA)

PROGRAMACION ORIENTADA A OBJETOS EN JAVA (Optativa)

CONCEPTOS DE PROGRAMACIONORIENTADA A OBJETOS EN JAVA

Page 2: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.1.- Que es Programación Orientada a Objetos

•Es un estilo de programación en que cada programa es visto como un objeto •Se forma por una serie de componentes, autocontenidos que cooperan para realizar las acciones de la aplicación completa.

por ejem. Las partes del esqueleto humano

Page 3: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.2.- Clases de Objetos•Objeto .- Un objeto es una encapsulacion genérica de datos y de los procedimientos para manipularlos

•Son cosas simples o compuestas, reales o inmaginarias.

Como se observa en la figura, todos los objetos tienen una parte pública (su comportamiento) y una parte privada (su estado).

Page 4: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.2.- Clases de objetos •Clases .- Es una descripción para producir objetos de esa clase o tipo. Esta formada por los métodos y los datos que definen las características comunes a todos los objetos de esa clase.

•Una clase equivale a la generalización de un tipo específico de objetos. Una instancia (objeto) es la concreción de una clase. Clase X

El objeto A y el objeto B son instancias de la clase X.

Cada uno de los objetos tiene su propia copia de las variables definidas en la clase de la cual son instanciados y comparten la misma implementación de los métodos.

Page 5: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.2.- Clases de Objetos

Resumen:

Las clases contienen un conjunto de objetos, por eso se dice que Java es el lenguaje de las clases.

Page 6: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.3.- Creación de clases en Java (Modelo básico)

/* * Programa : Persona.java * Ejemplo de programacion de la clase persona en Java */ class Persona{

// Metodos y atributos de los objetos

}

Page 7: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.4.- Creación de objetos en Java: Constructores

• Para crear un nuevo objeto, se utiliza el operador new seguido por el nombre de la clase + parentesis.

Ejem.nombreObjeto = new NombreClase();

psrPersona = new Persona(“Ramon Castro”,45);

Nota: pasa los valores del nombre y la edad.

Page 8: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.5 Métodos y atributos (nivel de anásis UML)

UML

Nombre de la Clase

Atributos

Métodos u Operaciones

Persona

Nombre,Edad..etc

Lee y muestraNombre, edad

JAVA

Page 9: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.6.- Métodos y atributos (diseño)

• Métodos. Controlan el comportamiento de la clase. Son funciones que especifican las acciones de los objetos.

Ejem.- Void MuestraPersona() {

System.out.print(“Hola, mi nombre es:”+m_sNombre);System.out.println(“Tengo”+m_iEdad+”años”);

}

Propiendades.- Caracteristicas individuales que definen y diferencian a un objeto de otro (Nombre, edad, etc).

Page 10: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

Compilación en Java 2EE

• Hacer la compilación de la clase persona./* * Programa : Persona.java * Ejemplo de programacion de la clase persona en Java */ class Persona{

String m_sNombre;int m_iEdad;

Persona(String sNuevoNombre, int iNuevaEdad){

m_sNombre = sNuevoNombre;m_iEdad = iNuevaEdad;

}

void MuestraPersona(){

System.out.print(" Hola, mi nombre es " + m_sNombre);System.out.println(" Tengo " + m_iEdad + " años ");

}

public static void main (String args[]){

Persona psrPersona;psrPersona = new Persona("Ramon Castro Liceaga ", 45);psrPersona.MuestraPersona();System.out.println("********************");psrPersona = new Persona("Juan Perez ", 35);psrPersona.MuestraPersona();System.out.println("*** Fin de programa ****");

}

Page 11: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.7.- Características básicas de la POO

• Un lenguaje Orientado a Objetos deben tener cuatro características, una como mínima (en el caso de Java, reúne todas las características).

Encapsulación : Modularidad y Ocultamiento de Información.(Abstracción)

Polimorfismo : El mismo mensaje enviado para diferentes Objetos resulta en comportamientos dependientes de la Naturaleza del Objeto querecibe el mensaje.

Herencia : Se define nuevas clases y comportamientos basados en Clases existentes para obtener código rehusado y código de Organización.

Facilidad : Da la máxima flexibilidad cuando un programa es ejecutado.

Page 12: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.8.- Protección de variables y métodos: accesos • Para implementar el encapsulamiento de las clases Java utiliza:

public Si un método o variable se define así, será accesible para cualquier otra clase (cualquiera accesarla) package Solo el que especifique el paquete de clases de que trate private Solo son visibles en la propia clase protected Publico para sus clases derivadas unicamente Estos especificadores de acceso preceden a las definiciones de los metodos y variables de las clases

Page 13: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.9.- Aportaciones Java 2EE a la POO

• Librería de clases agrupadas en paquetes (packages)

• Definiciones de Interfases

• Compilador y generación de bitecodes (archivos .class)

• Máquina Virtual (MVJ)

• Liberación automática de memoria

• Soporte de excepciones

• Multitareas (multithereading)

Page 14: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.10.- Paquetes en Java 2EE

• Los paquetes son un conjunto de clases

• Pueden ser standard de Java 2EE.Por ejemplo:Lang.- Clases del propio lenguaje, incluyendo Object, String, Integer, etc.Util.- Clases de utileria como Date, etc.Io.- Lectura y escritura de la salida y la entrada standard de JavaNet.- Soporte de red, socket, IpsAwt.- (Abstract Window Toolkit) para la interfáz del usuario – maquinaApplet.- Clases para implementar interfáz Web

• Pueden ser definidos por el usuario. (El usuario puede programar su propia librería)Por ejemplo: estadistica, persona, cajeroAutomatico, etc.

Page 15: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.11.- Interfases en Java 2EE

• Es un código simple escrito en Lenguaje de Java• Son declaraciones de métodos sin implementación• Solamente es un comportamiento que puede ser implementado por cualquier clase• Es útil para capturar similitudes entre clases que no están relacionadas• Utilizan: interfase que define una interfase en el código

implements quiere decir que una clase debe utilizar una determinada interfase

Page 16: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.12.-Maquina Virtual de Java (MVJ) • La Máquina Virtual Java es el núcleo del lenguaje de

programación Java. • Siempre que se corre un programa Java, las instrucciones que lo componen no son ejecutadas directamente por el hardware sobre el que subyace, sino que son pasadas a un elemento de software intermedio, que es el encargado de que las instrucciones sean ejecutadas por el hardware. Es decir, el código Java no se ejecuta directamente sobre un procesador físico, sino sobre un procesador virtual Java

Page 17: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.13.- Liberación automática de memoria en Java

• Java no necesita destructores

• Cuando una porción de memoria ya no se esta utilizando por el programa, el sistema automáticamente la devuelve.

Page 18: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.14.- Soporte de excepciones

• Una excepción es una condición de Error que no debe ocurrir al tiempo de ejecución.

• El manejo de excepciones en el código de Java es util Para evitar errores en la programación

Page 19: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

2.15.- Multitarea

• El concepto de multithreading nos permite realizar• mas de una cosa al mismo tiempo.

•El programa puede realizar mas de una operación en un mismo momento

•El programa se divide en varios caminos de ejecución tambíen llamados “Hilos”

•Es útil para simular la animación de objetos.

Page 20: UNIVERSIDAD LATINA (UNILA)

EI, Profesor Ramón Castro Liceaga

Agosto de 2005

Hacer las siguientes práctica..!!

• Aplicación de paquete “estadistica”:Estimación de la media, desviación media y desviación cuadrática, caso práctico en México.

Suerte ….