curso java

25
Curso Java

Upload: rcapitillo

Post on 09-Nov-2015

25 views

Category:

Documents


2 download

DESCRIPTION

JAVA

TRANSCRIPT

Diapositiva 1

Qu es Java Java es un lenguaje de programacin con el que podemos realizar cualquier tipo de programa que se desea. Fue desarrollado por la compaa Sun Microsystems en 1995.Una de las principales caractersticas por las que Java se ha hecho muy famoso es que es un lenguaje independiente de la plataformaActualmente Java se utiliza en un amplio abanico de posibilidades y casi cualquier cosa que se puede hacer en cualquier lenguaje se puede hacer tambin en Java y muchas veces con grandes ventajas.

Con Java podemos programar pginas web dinmicas, con accesos a bases de datos, utilizando XML, con cualquier tipo de conexin de red entre cualquier sistema.

Java maneja los conceptos de un lenguaje orientado a objeto como herencia, abstraccin, encapsulamiento y polimorfismoContenidoTemasFechaQu es Java? 21/05/2014Estndares de programacin Java21/05/2014Definicin de Elementos Java21/05/2014Persistencia (JPA) 21/05/2014Ejercicios21/05/2014Estndar de Programacin JavaIdentificadorReglaEjemploPackages(paquetes)El prefijo de un nombre de paquete nico esta siempre escrito en letras ASCII minsculas y debe ser uno de los nombres de dominio de nivel superior, o del cdigo de dos letras en ingls que identifican los pases especificado en el estndar ISO 3166, 1981. Los componentes subsecuentes del nombre de paquete vara de acuerdo a la convencin interna propia de una organizacin. Dichas convenciones pueden especificar que cierto nombre de directorio de componentes sean divisiones, departamentos, proyectos, mquinas o nombres de usuariove.com.infocent.talentoClasses (clases) y Interfaces (interfaces)

El nombre de las clases Interfaces deben ser pronombres, en mixed case con la primera letra de cada palabra interna mayscula, el nombre de las clases Interfaces debe ser simple y descriptivo, usar palabras enteras evitar acrnimos y abreviaciones class AutorizaEmpresaBeanInterface SsAutorizaEmpresaMethods (mtodos)Los mtodos deben ser verbos, tambin en mixed case pero con la primera letra de la primera palabra en minscula y las posteriores palabras en mayscula.public void setModificarpublic void getModificar

Variables (variables)Las variables estn en mixed case con la primera letra en minscula de la primera palabra y las posteriores en maysculas. Los nombres de variables no deben de empezar con una barra baja _ o un signo de dlar $.Los nombres de las variables deben ser cortos pero significativos. debe ser nemotcnico. Int contador;String palabra;List listaPalabras;

Constants (constantes)Los nombres de variable declarados como constantes de clase y constantes ANSI deben ser palabras maysculas separadas por barras bajas (_). (constantes ANSI deben ser evadidas, para facilitar el proceso de debugging).static final int MIN_WIDTH = 4;static final int MAX_WIDTH = 9;static final int GET_THE_CPU = 1;DefinicinPackage:Un package es una agrupacin de clases afinesLos packages delimitan el espacio de nombres (space name). El nombre de una clase debe ser nico dentro del package donde se define. Dos clases con el mismo nombre en dos packages distintos pueden coexistir e incluso pueden ser usadas en el mismo programa. Una clase se declara perteneciente a un package con la clusula package incluida como una lnea de cdigo, cuya sintaxis es: package nombrePackage;. Los packages tambin tienen un significado fsicoal servir para almacenar los archivos con extensin .class en el sistema de archivosdel Servidor o PC.Clases:Una clase es una plantilla (molde), que define atributos (variables) y mtodos (funciones)La sintaxis general para la declaracin de una clase es:modificadoresclassnombre_clase{declaraciones_de_miembros; }Definicin Tipos de Clases: abstractUna claseabstracttiene al menos un mtodo abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.finalUna clasefinalse declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la claseMathes una clase final.publicLas clasespublicson accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.synchronizableEste modificador especifica que todos los mtodos definidos en la clase son sincronizados, es decir, que no se puede acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya problemas de que se sobreescriban.Definicin Mtodos de Clases: Son las funciones propias de la clasesPara definir los mtodos se emplea la siguiente sintaxis:[ModifAcceso][modifFuncin] tipo nombreFuncin (listaParmetros) [throws listaExcepciones] { } Para ModifAcceso :public: indica que es un mtodo accesible a travs de una instancia del objeto.private: indica que a travs de una instancia no es accesible el mtodo. Al heredar el mtodo se convierte en inaccesible.protected: indica que a travs de una instancia no es accesible el mtodo. Al heredar si se puede usar desde la clase derivada.Sin especificar: indica visibilidad de paquete, se puede acceder a travs de una instancia, pero slo de clases que se encuentren en el mismo paquete. Para nombreFunc : Debe de ser un identificador vlido en el lenguaje. Para tipo : Es el tipo del valor devuelto por la funcin, pudiendo ser:Un tipo bsico. (String, Int, Boolea)Un objeto de una clase o interfaz. En este tipo de objetos se incluyen las matrices o vectores.void, en el caso de no devolver ningn valor. Para listaParmetros: es la lista de los parmetros que tomar la funcin separados por comas y definidos cada uno de ellos como: tipo nombreParmetro Para modifFuncin: Puede tener los siguientes valores:static: el mtodo pertenece a la clase, no a los objetos creados a partir de la clase.final: el mtodo no puede ser sobrescrito en una clase derivada.abstract: En esta clase no se proporciona el cdigo para la funcin, se debe de proporcionar en alguna clase derivada. En el caso de poseer un mtodo abstracto la clase debe de llevar a su vez el modificador abstract. synchronized: Es un mtodo que slo puede ser ejecutado por un hilo, y hasta que ese hilo no acabe la llamada al mtodo no puede comenzar la llamada al mtodo otro hilo. Lo emplearemos al trabajar con hilos.

Definicin Constructor de Clases: Son inicializadores de clase Instancia Una clase contiene constructores que se invocan para crear objetos desde el plano de la clase. Las declaraciones de constructores se parecen a las declaraciones de mtodo, excepto en que utilizan el nombre de la clase y no tienen valor de retornopublic class AutorizaEmpresaBean {public AutorizaEmpresaBean() {..}public AutorizaEmpresaBean(Int id) {..}public AutorizaEmpresaBean(String idEmpresa) {..}}Definicin Atributos de Clases: Los atributos de una clase son definidos segn esta sintaxis:[modifAcceso] [modifAtributo] tipo nombreVariable [= valorInicial] ; Son las propiedades de la clase variables existentes en ellaDonde nombreVariable: es el nombre que daremos a la variable, siendo un nombre vlido segn las normas del lenguajeDonde tipo: es el tipo de la variable, pudiendo ser un tipo bsico o un objeto de una clase o de un interfaz. Tambin puede ser una matriz o vector.Donde modifAtributos: son caractersticas especficas del atributo, son:static: El atributo pertenece a la clase, no a los objetos creados a partir de ella.final: El atributo es una constante, en ese caso debe de tener valor inicial obligatoriamente. Por convenio en java las constantes se escriben en maysculas.transient: Marca al atributo como transitorio, para no ser serializado. Lo emplearemos en java beans.volatile: es un atributo accedido de forma asncrona mediante hilos, con este atributo se lo notificamos a java.Donde valorInicial: permite inicializar la variable con un valor.TipoFormatoDescripcin(Nmeros enteros)byte8-bit complemento a 2Entero de un Byte.short16-bit complemento a 2Entero corto.int32-bit complemento a 2Entero.long64-bit complemento a 2Entero largo.(Nmeros reales)float32-bit IEEE 754Coma flotante de precisin simple.double64-bit IEEE 754Coma flotante de precisin doble.(otros tipos)char16-bit CarcterUn slo carcter (Unicote).booleantrue o falseUn valor booleano (verdadero o falso).List ArrayListArray variables MultidimensionalesVector Matriz de ValoresDateDateFechaDefinicin Tipo de Datos Mas Usados: Definicin Interfaces: Un interfaz es una lista de acciones que puede llevar a cabo un determinado objetoEn java un interfaz define la lista de mtodos, pero para que una clase posea un interfaz hay que indicar explcitamente que lo implementa mediante la clasula implements.La estructura de un interfaz:[modif.Acceso] interface nombreInterfaz [extends listaInterfaces] { prototipo mtodo1; .. prototipo mtodo1; } La clasula opcional extends se emplea para conseguir que un interfaz hereda las funciones de otro/s interfaces, simplemente listaInterfaces es una lista separaada por coma de interfaces de los que se desea heredar.

Ejemplo:public interface Service_SsAutorizaEmpresa {

public void save(SsAutorizaEmpresa opt, String Modulo, String Usuario);

public void update(SsAutorizaEmpresa opt, String Modulo, String Usuario);

public void delete(SsAutorizaEmpresa op, String Modulo, String Usuario);

public List getAll();

public SsAutorizaEmpresa getById(String id,String idUser) ;

public List getByIdDesde_Hasta(String usuarioDesde, String usuarioHasta, String empresaDesde, String empresaHasta, String orden);

}Definicin Implementar Interfaces: public class Service_SsAutorizaEmpresa_Impl implements Service_SsAutorizaEmpresa{

public void save(SsAutorizaEmpresa opt, String Modulo, String Usuario) {.}

public void update(SsAutorizaEmpresa opt, String Modulo, String Usuario) { } public void delete(SsAutorizaEmpresa op, String Modulo, String Usuario) { }

public List getAll() { . }

public SsAutorizaEmpresa getById(String id,String idUser) { . }

public List getByIdDesde_Hasta(String usuarioDesde,String usuarioHasta, String empresaDesde, String empresaHasta, String orden) {}}Definicin Excepciones: En Java una excepcin es un objeto que avisa que ha ocurrido alguna condicin inusual. Existen muchos objetos de excepcin predefinidos, y tambin podremos crear los nuestros propiosCuando se capturan excepciones en Java las sentencias que pueden causar un error se deben insertar en un bloque formado por try y catch, a continuacin, en catch debemos tratar esos posibles errores. Tambin existe la posibilidad de lanzar una excepcin cuando se produzca una determinada situacin en la ejecucin del programa, para hacerlo utilizaremos la instruccin throw.

Un manejador de excepcin es considerado adecuado si el tipo de la excepcin lanzada es el mismo que el de la excepcin manejada por el manejador.

Existen varios tipos fundamentales de excepciones:Error: Excepciones que indican problemas muy graves, que suelen ser no recuperables y no deben casi nunca ser capturadas.Exception: Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecucin. RuntimeException: Excepciones que se dan durante la ejecucin del programa.

Tipo de Excepciones: Definicin Ejemplo de Excepciones:

Lapersistenciao el almacenamiento permanente, es una de las necesidades bsicas de cualquier sistema de informacin de cualquier tipo.PersistenciaPersistir objetos Java en una base de datos relacional implica serializar un rbol de objetos Java en una base de datos de estructura tabular y viceversa. Esencial es la necesidad de mapear objetos Java para optimizar velocidad y eficiencia de la base de datosLapersistenciapuede tener 4 estados diferentes:

Transient: Un objeto recin creado que no ha sido enlazado con el gestor de persistencia.Persistent: Un objeto enlazado con la sesin (Todos los cambios sern persistentes).Detached: Un objeto persistente que sigue en memoria despus de que termina la sesin: existe en java y en la BDD.Removed: Un objeto marcado para ser eliminado de la BBDD: existe en java y se borrar de la BDD al terminar la sesin.

La persistencia en Base de Datos relacionales se suele implementar mediante el desarrollo de funcionalidad especfica utilizando la tecnologa JDBC o mediante frameworks que automatizan el proceso a partir de mapeos (conocidos como Object Relational Mapping, ORM) como es el caso de Hibernate

Por Donde Vamos

Como vamos

Hacia donde VamosEjerciciosRealizaremos un Proyecto Java Basico bajo eclipse Kerple:

Ejercicios

Nos dirigimos al WorkBench:

Ejercicios

Creamos un Proyecto Java.

EjerciciosProblema a Resolver:Debe crear un Proyecto que contemple lo siguiente:Creacin de un Package que cumpla con el estndar Java.El Package debe contener los siguientes directorios:ve/com/infocent/cursoDentro del directorio curso debe crear los siguientes sub-directoriosutiltestEjerciciosProblema a Resolver:Debe resolver el siguiente Problema:Poseemos dos entidades Profesor y Alumnos, ambos son personas que Poseen, nombre, apellido, cedula, sexo, fecha de nacimiento, peso, altura.Los profesores por su parte poseen un cdigo Profesor,un Titulado, Fecha de ingreso, clasificacin que puede ser Interino o titular.Los alumnos poseen un cdigo de alumno, una fecha de inscripcin, La carrera que cursan, as como el semestre en que se encuentran.Los profesores dictan materias a los alumnos, estas materias poseen un cdigo, nombre y cantidad de crditos.Los alumnos cursa N materias, las cual son evaluadas por los Profesores mediantes notas, donde la nota mnima para aprobar es 10ptosEjerciciosProblema a Resolver:Es necesario poder realizar la siguiente actividad:Crear una instancia Profesor.Crear una Instancia Alumno.Crear una Instancia Materia.Poder Listar los cdigo de profesores, nombres, apellidos, sexo, fecha de nacimiento de los profesores .Poder Listar los cdigos de alumnos, nombres, apellidos, sexo, peso ,altura y semestre que cursan los Alumnos.Poder Listar las Materias.Poder Saber que Materias posee un ProfesorPoder Saber que Materias posee un alumno.Listar las notas que coloca un profesor a una materia.Listar las materias aprobadas y reprobadas por los alumnos.

HerenciaPermitir la creacin de nuevas clases basadas en clases existentes.

La clase ya existente es llamada superclass, o clase base, o clase padre.

La clase nueva es llamada subclase, clase derivada, o clase hija. AbstraccinEs un mtodo por el cual abstraemos una determinada entidad de la realidad sus caractersticas y funciones que desempean

Representados en clases por medio de atributos y mtodosPolimorfismoConsiste en declarar y definir varios mtodos con el mismo nombre.

Con diferente numero y/o tipo de argumentos y que realizan diferentes operaciones.

El tipo que devuelven los mtodos debe coincidir. Java DefinicionesEncapsulamientoEs el empaquetamiento de las variables de un objeto con la proteccin de sus mtodos.

Es utilizado para esconder detalles de la puesta en prctica no importantes de otros objetos.

los detalles de la puesta en prctica pueden cambiar en cualquier tiempo sin afectar otras partes del programa.Volver