PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e...

25
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II

Transcript of PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e...

Page 1: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

PROGRAMACIÓN EN JAVACurso-taller inicial de programación en JAVAFacultad de Estadística e Informática

TEMA II

Page 2: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Contenido del Tema II curso taller

Programación en JAVA

2.- Declaraciones, inicialización y ámbito de las variables. Declaración de clases. Declaración, inicialización y uso de primitivas,

arreglos, enums. Declaración de Métodos. Instancias de Clases.

Page 3: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Una visión general de la Orientación a Objetos

Una técnica para el modelado de sistemas.

Intenta describir un sistema como este existe en la realidad.

Identifica : Objetos. Atributos de los objetos. Operaciones de los objetos.

Page 4: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Las declaraciones en el archivo fuente Una opcional declaración package Cualquier cantidad de import Declaraciones de clases e interfaces.

Page 5: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Application Programming Interfaces

Interfaz de Programación de Aplicaciones (API: por sus siglas en inglés).

Actividad:http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/

Seleccionar el paquete java.util.Seleccionar la clase Scanner verificar cual es el método que se ocuparía para leer cadenas desde el teclado.Buscar la documentación para de la clase SystemSeleccionar la clase String y observar los métodos que contienen

Page 6: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Abstracción

Funciones – Escribir un algoritmos una ves para ser utilizado en muchas situaciones.

Las clases agrupan un conjunto de atributos y comportamiento relacionados de un grupo de objetos.

Framework y APIs – Un grupo grande de clases que soportan un actividad compleja. Un framework puede ser usado directamente o ser modificado para ampliar su comportamiento básico.

Page 7: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Clases como una plantilla de Objetos

En fabricación una plantilla permite construir dispositivos en base a un modelo.

En software una clase es una descripción de un objeto. Una clase describe los datos que cada objeto

incluye. Una clase describe el comportamiento a cada

objeto.

En la tecnología JAVA las clases soportan tres características clave de la programación Orientada o Objetos: Encapsulamiento, Herencia y Polimorfismo.

Page 8: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Control de Acceso

Page 9: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Declarando Clases en JAVA Sintaxis básica de una clase en JAVA:

<modifiers> class <class_name>{ [<declaración_de_atributos>] [<declaración_de_constructores>] [<declaración_de_métodos>] }Ejemplo: public class Vehiculo{ private double cargaMaxima; public void setCargaMaxima(double valor){ cargaMaxima = valor;}}

Page 10: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Declaración de Atributos

Sintaxis básica de un atributo: <modificadoes> <tipo>

<identificador>;Ejemplo: public class Algo{ private int x; private float y = 10000.0F; private String nombre; }

Page 11: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Declaración de métodos Sintaxis básica de un método:

<modificadoes> <tipo_de_retorno> <identificador>([<lista_de_argunetos>]){

[<declaraciones>]};Ejemplo: public class Perro{ private int peso; public int getPeso( ) { return peso;} public void setPeso(int nuevoPeso){ peso = nuevoPeso; }}

Page 12: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Accediendo a los Miembros del Objeto

Ejemplo :La notación “punto”: <objeto>.<miembro>

Es usada para acceder a los miembros del objeto estos incluyen los atributos y los métodos.

d.setPeso(42);

d.peso = 42; // solo posible accedes a el si es público

Page 13: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Ocultando información

El Problema:MyDate

+ day:int+ month:int+ year:int

Si los atributos son públicos se puede acceder a ellos directamente permitiendo que cualquier valor sea asignado a ellos

MyDate d = new MyDate ( );d.day = 32;//día invalido

d.month = 2; d.day = 30;// plausible but wrong

d.day = d.day + 1;// en la asignación no hay verificación

Page 14: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Ocultando información

Solución :MyDate

- day:int- month:int- year:int

+ getDay():int+ setDay(day:int):boolean+getMonth():int+setMonth(month:int)+getYear():int+setYear(year:int)+fechaActual()-validaDay(day:int)

El cliente debe usar los métodos set/getPara acceder a los datos internos:MyDate d = new MyDate( );d.setDay(32);// día invalido, regresa falsed.setMonth(2);d.setDay(30);//posible error setDay regresa falsed.setDay(d.getDay() +1);// este regresará falso si la verificación es necesaria

Page 15: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Encapsulamiento

Oculta los detalles de implementación de una clase .

Obliga al usuario a utilizar un interface (métodos públicos) para acceder a los datos.

Hace que sea fácil darle mantenimiento a el código.

Page 16: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Declaración de los constructores Sintaxis básica de un constructor:

<modificador> <nombre_clase>([<lista_de_argumentos>]{

[<declaraciones>]}

Ejemplo: public class Perro{ private int peso; public Perro( ) { peso = 42;} public int getPeso( ) { return peso;} public void setPeso(int nuevoPeso){ peso = nuevoPeso; }}

Page 17: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

El Constuctor por Default Siempre hay al menos un constructor. Si no se escribe un constructor, el constructor

por default esta presente automáticamente:

El constructor por default no tiene argumentos.

El constructor por defecto no tiene cuerpo.

Se habilita el constructor por default al crear un objeto con new <nombre_clase>( ) si no se escribió un constructor.

Page 18: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Estructura del un archivo fuente Sintaxis básicade un archivo fuente :

[<declaración_del_paquete>][<declaración_de_los_import>]<declaración_de_la_clase>

Ejemplo archivo VehiculoReporteCapacidad :package shipping.reports;import shipping.domain.*;import java.util.List;Import java.io.*;Public class VehiculoReporteCapacidad{ private List vehiculos; public void generateReport(Writer output){ ….}}

Page 19: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Paquetes de Software(package) package ayuda a administrar sistemas grandes

de software. package puede contener clases y subclases.

Page 20: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

La declaración package

Sintaxis Básica de la declaración package:package <top_pkg_name>[.<sub_pkg_name>]*;

Ejemplo:package shipping.reports;

Especifica la declaración al inicio del archivo fuente

Solo una declaración package por archivo.Si la declaración package no es declarada

entonces la clase pertenece al default package.

Page 21: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Diseño de directorios y paquetes (package)

Los paquetes son almacenados en el árbol que contiene el nombre del paquete.

Ejemplo de la aplicación shipping :

Page 22: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

La declaración import

Sintaxis básica de declaración importimport

<pkg_name>[.<sub_pkg_name>].<class_name>;

Or

import <pkg_name>[.<sub_pkg_name>].*;

Ejemplos:import shipping.domain.*;import java.util.List;import java.io.*;

Precede a todas las declaraciones de clases.

Indica al compilador donde encontrar las clases utilizadas.

Page 23: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Actividad a desarrollar

Describe con tus propias palabras junto con ejemplo de los siguientes términos: Clase Objeto Atributo Método Constructor Paquete

Page 24: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Genera la clase Fecha

MyDate

- day:int- month:int- year:int

+MyDate(day:int,month:int,year:int)+MyDate(dia:int,mes:int,año:int)+MyDate(dia:int)+ getDay():int+ setDay(day:int)+getMonth():int+setMonth(month:int)+getYear():int+setYear(year:int)+fechaActual()-validaDay(day:int)

Crea otra clase llamada PruebaMyDate.java que utilice la clase MyDate y que solicite desde el teclado los datos necesarios para actualizar la clase y que imprima los valores

Page 25: PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.

Tarea:

Agregar a la clase MyDate el método que permita calcular los años que han pasado a partir de una fecha.

Agregar los métodos necesarios para realizar validación de las fechas introducidas