Upload
yuris1487
View
104
Download
1
Tags:
Embed Size (px)
Citation preview
Programación en JavaIntroducción
Parte I
Agenda
• Características de Java• JDK• Programación Orientada a Objetos• Conceptos básicos• Estatutos de Control• Objetos y Clases en Java• Ejercicios
Definición de Java (Sun Microsystems)
The Java programming language is a high-level language that can be characterized by all of the following buzzwords:
•Simple and familiar•Architecture neutral•Object oriented•Portable•Distributed
•High performance•Interpreted•Multithreaded•Robust•Dynamic•Secure
Caracteristicas de Java
• Familiar:• Estrucutra parecida a lenguajes como C++
• Simple:• Eliminaron caracteristicas inecesarias del
lenguaje C++ y no eran necesarias para aplicar orientación a objetos (Se eliminó: typedefs, define, estructuras y uniones, enumeraciones, funciones, herencia multiple, goto, apuntadores, ajuste automático valores primitivos.
Caracteristicas de Java
• Orientado a Objetos• Encapsulación• Polimorfismo• Herencia• Construcción Dinamica
Caracteristicas de JavaPrograma.java
_____________________________________
Compilador
Programa.class
BYTE CODE
Interpretador
WindowsSolaris
Interpretador Interpretador
Mac
Arquitectura NeutralPortable
Caracteristicas de Java
• Arquitectura neutral, portable
ComputadoraComputadora
Sistema OperativoSistema Operativo
Máquina Virtual (JVM)Máquina Virtual (JVM)
Byte-CodesByte-Codes
Caracteristicas de Java
• Dinámico• Independencia entre clases. (link)• Clases se cargan conforme se van requiriendo
• Multi Hilos (Threads)• Sincronización• Threads Seguros
• Rendimiento (Performance)• Just In Time (JIT) compiler
Caracteristicas de Java
JDK(Java Development Kit)
JDK(Java Development Kit)
JDK
• Bajar la última versión del JDK del “site” de SUN (JDK 1.4.2)
• www.javasoft.com
• Instalar el JDK en la máquina
• Bajar la documentación
• Instalar la documentación
• Comenzar a programar en Java
Instalación del JDK
• Ejecutar el instalador (j2sdk-1_4_2_06-windows-i586-p.exe)
• Modificar la variable de entorno path (\raiz\jdk\bin\)
• Ej: path=%path%;c:\j2sdk1.4.2_06\bin
• Modificar la variable de entorno CLASSPATH• Ej: CLASSPATH=%CLASSPATH%;.
El primer programa
Ejecución
Programación Orientada a ObjetosOOP
Programación Orientada a Objetos
• Es una filosofía para el desarrollo de sistemas basado en el modelado del mundo real a través de la identificación de objetos
• Surgió inicialmente como un enfoque para la programación pero se ha extendido a todo el ciclo de desarrollo de sistemas
Objeto
• Un elemento con estado, comportamiento.
•Estado (lo que se sabe del objeto)
–Nombre, color, raza, contento
•Comportamiento (lo que puede hacer)
–Ladrando, durmiendo, corriendo
•Estado
–Número de llantas, color, marca, modelo
•Comportamiento
–Acelerando, frenando, Reparando.
Objetos
Perro
Objetos de Software Objetos reales
RepresentaRepresenta
Objeto (Software)
• Estado– Representado por sus Variables
• Comportamiento– Modificado por sus Métodos
Los objetos en programación representanobjetos reales y objetos abstractos (conceptos),ej. Eventos
Objetos de Software
Variables(Estado)
API pública
Application Program Interface
Mensajes
(Comportamiento)
El Objeto Perro
Nombre - FidoColor - negro
Estado - ladrando
ladra
duerme
come
brinca
Encapsulación
- Permite ocultar los detalles de la implementacion de un objeto
- El usuario solo tiene acceso a la Interfaz
API pública
Application Program Interface
Encapsulación
• Modularidad– Independencia entre objetos
• Transparencia– Publica una interfaz publica– Puede cambiar la implementación sin afectar su
utilización
A veces se hacen públicas las variablesy se esconden algunos métodos porrazones de eficiencia
Mensajes
• Permiten la interacción entre objetos
• Mandar a ejecutar un método
MensajeMensaje
Acelera, frena, etc.
Parámetros
• A veces los métodos necesitan más información para realizar una acción
• Esta información adicional se pasa en forma de parámetros
enciende
enciende (%)
Mensajes
• Expresan el comportamiento de un objeto, cambiando el estado de éste
• Ocultan la necesidad de exponer las variables
• Los objetos pueden estar en procesos y/o máquinas diferentes
Mensajes
• Objeto destino• Nombre del método a ejecutar• Parámetros necesarios
focoSala.enciende(porcentaje)focoSala.enciende(porcentaje)
Clases
• Prototipo de objetos
• Definen las variables y métodos comunes para todos los objetos
Clases y Objetos
• Los objetos son ejemplares (instancias) de clases
• Los objetos de una clase comparten el comportamiento (métodos)
• Cada objeto tiene su propio estado (variables)
Variables y Métodos de Clase
• De ejemplar (instancia)– Se crea una copia particular de las variables y se
tiene acceso a los métodos
• De clase– Todos los objetos de una clase comparten la misma
copia
– No se necesita crear un objeto para el acceso a variables y métodos
– Si un objeto cambia una variable de clase, esa variable se cambia para todos los objetos de la clase
Variables y Métodos de Clase
• Ejemplo
Clase Perro Objeto PerroFido
Objeto Perrocuco
Abstracción
• La abstracción se refiere a quitar las propiedades y acciones de un objeto que no son necesarias para el sistema.
Herencia
• Especialización de una clase
• Subclases se definen con base en Superclases
• La subclase hereda las variables y métodos de la superclase
• La subclase define sus propias variables y métodos los cuales se agregan a los de la superclase
Herencia
Televisión
TelevisiónBlanco y negro
Televisióncolor
Televisiónstereo
Una subclase puede redefinir (override) métodos heredados,para que realicen algo diferente o en diferente forma
TelevisiónPantalla Plana
Herencia
• Esquema jerárquico• Reutilización de código• Una super clase puede guardar una
referencia a una subclase, Por ejemplo:• Una televisión puede almacenar una instancia
de una televisión a color