Download PROGRAMACION ORIENTADA A OBJETOS EN JAVA

Document related concepts
no text concepts found
Transcript
UNIVERSIDAD LATINA (UNILA)
PROGRAMACION ORIENTADA A OBJETOS EN JAVA
(Optativa)
CONCEPTOS DE PROGRAMACION
ORIENTADA A OBJETOS EN JAVA
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
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).
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.
El objeto A y el objeto B son
Clase X
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.
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.
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
}
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.
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
JAVA
Persona
Nombre,
Edad..etc
Lee y muestra
Nombre, edad
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).
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 ****");
}
}
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 que
recibe 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.
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
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)
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 Java
Net.- Soporte de red, socket, Ips
Awt.- (Abstract Window Toolkit) para la interfáz del usuario – maquina
Applet.- 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.
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
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
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.
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
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.
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 ….
EI, Profesor Ramón Castro Liceaga
Agosto de 2005