35
Programación en Java Introducción Parte I

Poo

Embed Size (px)

Citation preview

Page 1: Poo

Programación en JavaIntroducción

Parte I

Page 2: Poo

Agenda

• Características de Java• JDK• Programación Orientada a Objetos• Conceptos básicos• Estatutos de Control• Objetos y Clases en Java• Ejercicios

Page 3: Poo

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

Page 4: Poo

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.

Page 5: Poo

Caracteristicas de Java

• Orientado a Objetos• Encapsulación• Polimorfismo• Herencia• Construcción Dinamica

Page 6: Poo

Caracteristicas de JavaPrograma.java

_____________________________________

Compilador

Programa.class

BYTE CODE

Interpretador

WindowsSolaris

Interpretador Interpretador

Mac

Arquitectura NeutralPortable

Page 7: Poo

Caracteristicas de Java

• Arquitectura neutral, portable

ComputadoraComputadora

Sistema OperativoSistema Operativo

Máquina Virtual (JVM)Máquina Virtual (JVM)

Byte-CodesByte-Codes

Page 8: Poo

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

Page 9: Poo

Caracteristicas de Java

Page 10: Poo

JDK(Java Development Kit)

JDK(Java Development Kit)

Page 11: Poo

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

Page 12: Poo

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%;.

Page 13: Poo

El primer programa

Page 14: Poo

Ejecución

Page 15: Poo

Programación Orientada a ObjetosOOP

Page 16: Poo

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

Page 17: Poo

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.

Page 18: Poo

Objetos

Perro

Objetos de Software Objetos reales

RepresentaRepresenta

Page 19: Poo

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

Page 20: Poo

Objetos de Software

Variables(Estado)

API pública

Application Program Interface

Mensajes

(Comportamiento)

Page 21: Poo

El Objeto Perro

Nombre - FidoColor - negro

Estado - ladrando

ladra

duerme

come

brinca

Page 22: Poo

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

Page 23: Poo

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

Page 24: Poo

Mensajes

• Permiten la interacción entre objetos

• Mandar a ejecutar un método

MensajeMensaje

Acelera, frena, etc.

Page 25: Poo

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 (%)

Page 26: Poo

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

Page 27: Poo

Mensajes

• Objeto destino• Nombre del método a ejecutar• Parámetros necesarios

focoSala.enciende(porcentaje)focoSala.enciende(porcentaje)

Page 28: Poo

Clases

• Prototipo de objetos

• Definen las variables y métodos comunes para todos los objetos

Page 29: Poo

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)

Page 30: Poo

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

Page 31: Poo

Variables y Métodos de Clase

• Ejemplo

Clase Perro Objeto PerroFido

Objeto Perrocuco

Page 32: Poo

Abstracción

• La abstracción se refiere a quitar las propiedades y acciones de un objeto que no son necesarias para el sistema.

Page 33: Poo

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

Page 34: Poo

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

Page 35: Poo

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