Fase 1   proyecto java (presentacion)
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Fase 1 proyecto java (presentacion)

  • 1,403 views
Uploaded on

Proyecto Java Escolapios

Proyecto Java Escolapios

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,403
On Slideshare
1,387
From Embeds
16
Number of Embeds
3

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 16

http://proyectojava.fincasromero.es 9
http://www.proyectojava.fincasromero.es 6
http://www.docseek.net 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PROYECTO JAVA FASE 1:
  • 2. INDICE·Introducción(Álvaro Contreras Martínez)·Orientación a Objetos(Norberto Castro Castellanos)·Sintaxis Java(Jorge Morán Palomeque)(Humberto Maestre Serantes)
  • 3. IntroducciónLa parte a del proyecto que vamos a desarrollar va a seruna aplicación en java la cual dará un software quefacilite la gestión de la formación en centros de trabajo(FCT).
  • 4. ¿Qué es Java?Es un lenguaje de programación de alto nivel orientadoa objetos desarrollado por Sun Microsystems a principiode los años 90´s con el nombre de Oak.Se buscaba un lenguaje industrial de la plataforma paraproductos de electrónica de consumo tales comoteléfonos, televisiones.La razón por la que Java ha tenido tanto éxito es que supropósito era resolver muchos de los problemas a losdesarrolladores.
  • 5. ¿Qué es Java? Java Lenguaje de programación Plataforma Desarrollo Ejecución (JVM) Compilador Generador de Documentación Linux Windows ...API GUI API Red ... API Criptografía
  • 6. Características Java• Orientado a objetos• Distribuido y dinámico• Robusto• Seguro• Multitarea o Multithreaded• Portable
  • 7. Características Java  Orientado a objetosJava fue diseñado como un lenguajeorientado a objetos desde el principio.La tendencia del futuro apunta hacia laprogramación orientada a objetos,especialmente en entornos cada vez máscomplejos y basados en red.
  • 8. Características Java  DistribuidoJava proporciona una colección de clasespara su uso en aplicaciones de red, quepermiten abrir sockets y establecer yaceptar conexiones con servidores oclientes remotos, facilitando así lacreación de aplicaciones distribuidas.
  • 9. Características Java  RobustoJava fue diseñado para crear software altamentefiable, para ello realiza verificaciones en buscade problemas tanto en tiempo de compilacióncomo en tiempo de ejecución. La comprobaciónde tipos en Java ayuda a detectar errores, loantes posible, en el ciclo de desarrollo.
  • 10. Características Java  SeguroDada la naturaleza distribuida de Java, donde lasapplets se bajan desde cualquier punto de laRed, la seguridad se impuso como una necesidadde vital importancia.El código Java pasa muchos tests antes deejecutarse en una máquina.
  • 11. Características Java  MultitareaJava soporta sincronización de múltiples hilos deejecución (multithreading) a nivel de lenguaje,especialmente útiles en la creación deaplicaciones de red distribuidas.Así, mientras un hilo se encarga de lacomunicación, otro puede interactuar con elusuario mientras otro presenta una animación enpantalla y otro realiza cálculos.
  • 12. Características Java  PortableJava especifica los tamaños de sus tipos de datosbásicos y el comportamiento de sus operadoresaritméticos, de manera que los programas soniguales en entornos Unix, Pc o Mac.
  • 13. Lenguaje interpretadoEs el lenguaje cuyo código no necesita serpreprocesado mediante un compilador, eso significaque el ordenador es capaz de ejecutar la sucesión deinstrucciones dadas por el programador sin necesidadde leer y traducir todo el código.El intérprete es el encargado de traducir cadainstrucción escrita con una semántica “humana” aCódigo máquina (instrucciones de la CPU delordenador).
  • 14. Máquina virtual Java JVMEs capaz de interpretar y ejecutar instruccionesexpresadas en un código binario especial (el Javabytecode), el cual es generado por el compilador dellenguaje Java.Básicamente se sitúa en un nivel superior al Hardwaredel sistema sobre el que se pretende ejecutar laaplicación, y actúa como un puente que entiende tantoel bytecode, como el sistema sobre el que se pretendeejecutar.
  • 15. JVM Java Code (.java) JAVAC compilador Byte Code(.class) JVM JVM JVMWindows Linux Mac
  • 16. Tareas principales JVM:- Reservar espacio en memoria para los objetoscreados- Liberar la memoria no usada (garbage collection).- Asignar variables a registros y pilas- Llamar al sistema huésped para ciertasfunciones, como los accesos a losdispositivos- Vigilar el cumplimiento de las normas de seguridadde las aplicaciones Java
  • 17. Herramientas de desarrollo en JAVAJDKEs el acrónimo de "Java Development Kit". Se puededefinir como un conjunto de herramientas, utilidades,documentación y ejemplos para desarrollaraplicaciones Java.
  • 18. JDKLos programas más importantes que se incluyen son:• appletviewer.exe: es un visor de applets para generar sus vistas previas.• javac.exe: es el compilador de Java.• java.exe: es el intérprete de Java.• javadoc.exe: genera la documentación de las clases Java de un programa.
  • 19. Instalación JDKLo podremos descargar aquí:http://www.oracle.com/technetwork/java/javase/downloadsUna vez instalado hay que configurar las variables de entornopara que podamos “compilar” desde la Consola deComandos.
  • 20. IDE EclipseEs una plataforma de desarrollo open source basadaen Java. Es un desarrollo de IBM cuyo código fuentefue puesto a disposición de los usuarios. En si mismoEclipse es un marco y un conjunto de servicios paraconstruir un entorno de desarrollo a partir decomponentes conectados (plug-in).
  • 21. Instalación EclipseDescargar la distribución Eclipse IDE for Java Developers.Lo podemos descargar aquí:http://www.eclipse.org/downloads/
  • 22. IDE Eclipse
  • 23. IDE EclipseSwing
  • 24. Manejo EclipseEstructura:• /src contiene todos los ficheros fuentes• /classes o bin contiene los ficheros compilados (.class)• /doc contiene la documentación javadoc del proyecto• /lib contiene las liberas del proyecto• /config contendrá los ficheros de configuración de la aplicación
  • 25. Manejo Eclipse Compilar y Detectar ErroresEs importante tener en cuenta que en Eclipse los errores decompilación se muestran en tiempo real subrayando elfragmento de código adecuado con una línea roja. Y además elentorno automáticamente compila los archivos salvados
  • 26. Manejo EclipseIcono de Bombilla = AutocorregirEclipse habitualmente permite autocorregir los posibleserrores haciendo clic en el icono de bombilla presenteen el margen izquierdo del editor de código. Así pues,aparecerá una ventana mostrando todas las opciones.
  • 27. Manejo EclipseImportar a un archivo JARPuede ser necesario importar algunos archivos Jar noincluidos por defecto en el JRE estándar para que elproyecto pueda compilar. Basta con pulsar el botónderecho del ratón sobre la carpeta adecuada, elegir"Properties“> “Java Build Path", seleccionar la pestaña"Libraries", pulsar el botón "Add External Jars" yseleccionar el archivo ".jar" o ".zip".
  • 28. Manejo Eclipse Exportar a un archivo JARSeleccionamos “File”>“Export…” Y en el cuadro dediálogo Export JAR, asegúresede seleccionar todos losrecursos necesarios que deseeexportar.
  • 29. Manejo Eclipse Subversion (SVN)Es un sistema de control deversiones que se encarga deque varias personas puedanmodificar y administrar elmismo conjunto de datos Volver al inicio
  • 30. PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
  • 31. Paradigma de programación: serie de pautastecnológicas adoptada por una comunidadde programadores incorporada a lenguajesde programación.· Paradigma Imperativo: Basado en lamanipulación de datos de entrada a través deun algoritmo secuencial (C).· Paradigma Declarativo: Basado en ladeclaración de formulas que plantean lasolución del problema y la detallan susolución (Prolog).
  • 32. PARADIGMA DE ORIENTACIÓN A OBJETOS: Evolución histórica-> Simula 67: Ole-Johan Dahl y Kriten Nygaard.-> Smalltalk: Lenguaje canónico del paradigma.-> C++: Asimilación del universo C de la POO.-> Proliferación de las GUI’s: La programacióndirigida a eventos se adapta perfectamente aldesarrollo de interfaces gráficas.->Incorporación del paradigna a otros lenguajes:Php, Phython, Perl y por supuesto JAVA
  • 33. VENTAJAS DE LA POO·Escalabilidad·Mantenibilidad·Reutilización·Evita acoplamiento·Maximiza cohesión·Facilita la arquitectura de software
  • 34. CONCEPTOSCLAVE DE LA POO
  • 35. Objeto (I) Unidad de código compuesta por variables ymétodos relacionados. La abstracción de un objetoen concreto es una clase que es la unidad deprogramación en los algoritmos de JAVA. Del mismomodo una instancia concreta de una clase es unobjeto. Un objeto agrupa en entidades de forma lógicalas funcionalidades y las características del conceptounitario material o inmaterial que queremosimplementar en nuestro código.
  • 36. Objeto (II)Un objeto está formado por: ·Atributos: Las características que definen un objeto, tomando valores concretos para cada uno. ·Métodos: Funcionalidades propias de un objeto. La clase de métodos de un objeto determina su comportamiento frente a otros objetos.
  • 37. Objeto (III) Un objeto se instancia a través de un métodoespecial llamado constructor, que inicializa unobjeto con unos valores concretos. Una clase puedetener mas de un constructor .Sobrecarga: técnica por la cual podemos declarar unmétodo con distintos valores de entrada y distintocomportamiento.
  • 38. Objeto (IV)Encapsulación: técnica mediante la cual ocultamos losatributos y métodos internos de una clase mediante“private” e implementamos métodos para accedersolo a los datos y estructuras que queramos.Mensaje: Consiste en la invocación de un métodopúblico de un objeto por parte de otro objeto. Sepueden pasar argumentos en los mensajes. Es la basepara la relación de dos objetos.
  • 39. AbstracciónClases abstractas: Abstracción de varias clases en unaclase superior. La clase que implícitamenteimplementa todas la clases en Java es Object.Métodos abstractos: Una clase abstracta lo es porqueal menos de uno de sus métodos es abstracto. La claseabstracta solo determina el comportamiento delmétodo, las distintas clases hijas lo implementaran.Clase interface: Es una clase en la que todos susmétodos son abstractos.
  • 40. Herencia SimpleClases extendidas: Cualquier clase puede heredar losatributos y los métodos de una clase superiormediante “extend”.Referencia: Para referirnos a la clase padre desde laclase hijo usaremos “super” y para referirnos a loscomponentes propios de la clase se usa “this”.Sobrescritura: Cualquier clase hija puede volver adefinir un método heredado mediante la notación@Override.
  • 41. ABSTRACCION HERENCIAMenos acoplamiento Mayor cohesiónMejor jerarquía Menos complejo de VS diseñarMejor mantenimiento Mejor escalabilidadMayor polimorfismo Mayor flexibilidad
  • 42. Herencia MúltipleEs aquella en la cual una clase hija hereda métodos devarias clases padre.Java no permite este tipo de herencia pero si estacontemplada en el paradigma de la orientación aobjetos.
  • 43. Polimorfismo Se pueden dar distintas implementaciones endistintas clases del mismo método. Llamar a unmétodo producirá que se adopte el código del objetoreferenciado. El polimorfismo en Java se da en tiempo deejecución mediante enlaces simbólicos.Sobrescritura, Interface, Clases abstractas, Herencia….
  • 44. UML Modificadores << interface >> NombreClase {abstracto} - Atributo1: Tipo - Atributo2 : Tipo ………..+ público + Metodo1 (Entrada) :Salida- privado + Metodo2 (Entrada):Salida Cursiva indica ………………. método abstracto
  • 45. <<Animal >> + Especie Nacer () Morir () Reproducir () Mamífero {Abstr} Ave + Especie + Especie + Vertebrado + Vertebrado + Placenta + Ovíparos Nacer Nacer Morir Morir Reproducir Reproducir Desplazamiento Volar Caballo Delfín Cuervo Pingüino+ Especie + Especie + Especie + Especie+ Vertebrado + Vertebrado + Vertebrado + Vertebrado+ Placenta + Placenta + Ovíparo + PlacentaNacer Nacer + Córvido + SphenisciformesMorir Morir Nacer NacerReproducir Reproducir Morir MorirDesplazamiento Desplazamiento Reproducir ReproducirRelinchar ComerPeces Volar Volar
  • 46. Enlaces Sobre UMLhttp://www.uml.org/http://www.visual-paradigm.com/UML/ Volver al inicio
  • 47. SINTAXIS JAVA
  • 48. Comentarios• Los comentarios son partes del código del programa que el compilador pasa por alto a la hora de ejecutar el código.• Se utilizan para ayudar al programador.• En java existen varias formas de escribir comentarios: - Comentarios en varias líneas. - Comentarios de línea. - Comentarios de documentación.
  • 49. Comentarios Comentarios en varias líneas.Tipo de comentario cuyo fin se debe cerrar.• Para abrir el comentario se utiliza: /*• Se finaliza el comentario con: */El comentario transcurre entre ambos conjuntos decaracteres./*Este es un ejemplo deun comentario de variaslíneas.*/
  • 50. Comentarios Comentarios de líneaTipo de comentario cuyo fin es la propia línea donde se utiliza.• Su utilización es gracias a: //// Este es un comentario de una sola línea //Este comentario seria erróneoporque acapara otra línea.
  • 51. Comentarios Comentarios para documentación• El comentario es usado para un procesamiento que lleva a cabo la herramienta javadoc.• Sigue siendo un comentario.• Se empieza el comentario con /** y se termina con */./**Este tipo de comentarioslos utiliza laherramienta javadoc*/
  • 52. Palabras reservadasSon las palabras que están definidas en Java y que no sepueden utilizar para otro fin que el acordado.• Existen otras palabras que no tienen ninguna función especifica.• Se reservan por compatibilidad de otros lenguajes y son: cast future generic inner operator outer rest var
  • 53. Palabras reservadas • Las palabras reservadas que se utilizan son:abstract continue for new switch constboolean default goto null synchronized float break do if package this native byte double implements private threadsafe superbyvalue else import protected throw while case extends instanceof public transient class catch false int return true finally char final interface short try long void static
  • 54. Tipos primitivosSon los tipos de las variables que creamos en el programa. Javautiliza cinco tipos de elementos:- Enteros.- Reales.- Booleanos.- Caracteres.- Cadenas.Se pueden declarar en cualquier lugar del código fuente de Java.
  • 55. Tipos primitivos Enteros: • Para números positivos y negativos que no necesitan decimales: Palabra reservada. Tamaño. Límite.byte 8 bits -128 a 127short 16 bits -32768 a 32767int 32 bits -2147483648 a 2147483647long 64 bits -9.22·1018 a 9.22·1018
  • 56. Tipos primitivos Reales: • Números positivos y negativos que necesitan decimales: Palabra reservada. Tamaño.float 32 bitsdouble 64 bits
  • 57. Tipos primitivosBooleanos:• En condiciones verdaderas o falsas, los Booleanos devuelven un true o un false. INICIO Contenedor=0 Contenedor > 1 No Booleano false Si Booleano true Ejemplos de booleanos
  • 58. Tipos primitivosCaracteres:Se guarda un carácter gracias a char.char letra = „b‟
  • 59. ArraysEn Java podemos crear arrays de cualquier tipo por ejemplo: Char s[]; Int iArray[];Incluso podemos crear un array de otro array: int tabla[][]= new int[4][5];
  • 60. ArraysPara crear un array en Java existen dos métodos: • Crear un array vacio : int lista[] = new int[50]; •Crear un array con sus valores iniciales: String nombres[] = { “Juan”,”Pepe”,”Pedro”,”Maria” };
  • 61. Arrays• El ejemplo anterior equivale a: String nombres[]; nombres = new String[4]; nombres[0] = new String( “Juan” ); nombres[1] = new String( “Pepe” ); nombres[2] = new String( “Pedro” ); nombres[3] = new String( “Maria” );
  • 62. OperadoresSon símbolos o conjunto de estos que realizan operacioneslógicas, como restar, sumar…. [] () ++ -- ! %=* / % + - >> *=< > <= >= = = != &&^ | || ? : = &+= -= ~ << >>>
  • 63. SeparadoresSon los que van a definir la forma y función del código: • ()-Paréntesis: Para contener listas de parámetros y llamadas a métodos. • {}-Llaves: Para definir bloques de códigos y contener los valores de las matrices inicializadas automáticamente. • []-Corchetes: Para declarar tipos de matriz y referenciar valores en la matriz. • ;-Punto y coma: Separar sentencias. • ,-Coma: Separar identificadores en una declaración de variables. • .-Punto: Separa nombres de paquetes ,subpaquetes y clases.
  • 64. Condicionales•If/Else: comparan varias opciones y si son verdaderasejecutan las sentencia. Verdadero edad>=18 Falso “Mayor de edad” “Menor de edad” “Menor de edad”
  • 65. CondicionalesEl operador primero lee el if y si no se cumple pasa alelse: if( Boolean ) { sentencias; } else { sentencias; }
  • 66. Condicionales• El Switch se usa para crear menús. Este lee el valor que le hemos introducido y enlaza directamente con el caso que sea verdadero.INICIO resp : entero Escribir “Escribe un número [1/2]” Leer resp Casos para resp Cuando es igual a 1: Escribir “ escribiste uno” Cuando es igual a 2: Escribir “ escribiste dos” Para todos los demás valores: Escribir “ No escribiste ni un 1 ni un 2” Fin casosFIN
  • 67. CondicionalesDiagrama de flujo: “Menú de perímetros” “1.- Cuadrados” “2.-Triangulos” “¿Cuál eliges?” opc opc Caso 1 Caso 2 Demás casos “Dame el valor” “Dame el valor” “Error”
  • 68. Sentencias de Bucle• Bucles for: La estructura del bucle for es igual que en C: for( expr1 inicio; expr2 test; expr3 incremento) { sentencias; }También se soporta el operador coma (,) en los bucles for: for( a=0,b=0; a < 7; a++,b+=2 )
  • 69. Sentencias de BucleEl siguiente código Java dibuja varias líneas en pantallaalternando sus colores entre rojo, azul y verde.int contador;for( contador=1; contador <= 12;contador++ ) { switch( contador % 3 ) { case 0: setColor( Color.red ); break; case 1: setColor( Color.blue ); break; case 2: setColor( Color.green ); break; } g.drawLine( 10,contador*10,80,contador*10 ); }
  • 70. Sentencias de Bucle• Bucles while while( Boolean ) { sentencias; }• Bucles do/while do { sentencias; } while( Boolean );
  • 71. Variables y Métodos de instanciaLas clases, en Java, contienes Variables y Métodos.• Las variables suelen ser de tipos primitivos como int, char…• Los métodos son funciones. public MiClase { Variables int i; public MiClase() { i = 10; Métodos } public void Suma_a_i( int j ) { i = i + j; } }
  • 72. Variables y Métodos de instancia Métodos y ConstructoresLos métodos son funciones que pueden ser llamadas dentrode la clase o por otras clases.• El constructor es un tipo especifico de método que siempre tiene el mismo nombre que la clase.• Se pueden declarar uno o más constructores en una misma clase. public MiClase { int i; public MiClase() { i = 10; Constructor } public void Suma_a_i( int j ) { i = i + j; } }
  • 73. Variables y Métodos de instancia Ámbito de una variableLas variables de Java solo son validas desde donde se declaranhasta el final de la sentencia.• Las sentencias se crean con { y acapara hasta su }.• No se puede crear dos variables iguales en una misma sentencia pero en diferentes sentencias si y no por ello guardar lo mismo. Class Ambito { int i = 1; Ámbito exterior Sentencia 1 Sentencia 2 { Crea un nuevo ámbito int i = 2; Error de compilación } }
  • 74. Variables y Métodos de instancia Variables y métodos estáticosEs una clase cuyo valor de la variable de instancia sea elmismo para todos los objetos instanciados de esa clase.Es decir, que exista una única copia de la variable al quepodrán acceder a ella. Se usará para ello la palabra clavestatic .class Documento extends Pagina { static int version = 10; }
  • 75. Ejemplos de abstract y extendabstract class FiguraGeometrica { sentencias; abstract void dibujar(); sentencias;}class Circulo extends FiguraGeometrica { sentencias; void dibujar() { // codigo para dibujar Circulo sentencias; }}
  • 76. Ejemplos de Interface e Implementsinterface nombre_interface { tipo_retorno nombre_metodo ( lista_argumentos ) ; sentencias;}class InstrumentoViento extends Object implements InstrumentoMusical { void tocar() { . . . }; void afinar() { . . .}; String tipoInstrumento() {}}class Guitarra extends InstrumentoViento { String tipoInstrumento() { return "Guitarra"; }}
  • 77. Control de accesoEspecifica el nivel de acceso que se quiere para las variablesde instancia y los métodos definidos en una nueva claseExisten varios tipos:• Public: Desde cualquier lugar se puede acceder a las variables y métodos de instancia públicas. public void CualquieraPuedeAcceder(){}• Protected: Sólo las subclases de la clase y nadie más puede acceder a las variables y métodos de instancia protegidos. protected void SoloSubClases(){}
  • 78. Control de acceso• Private: Sólo se puede acceder desde dentro de la clase y no son accesibles desde las subclases. private String NumeroDelCarnetDeIdentidad;• Friendly: Cuando el control de acceso se omite y se deja sin especificar. Son accesibles por todos los objetos dentro del mismo paquete, pero no por los externos al paquete. void MetodoDeMiPaquete(){}
  • 79. Una mínima aplicación En la siguiente aplicación tendremos la oportunidad de imprimir un mensaje por pantalla. Es el típico «HOLAMUNDO»//// Aplicación HolaMundo de ejemplo//class HolaMundoApp { public static void main(String args[]){ System.out.println( "Hola Mundo!" ); }}
  • 80. Una mínima aplicación //Comentarios de líneas // Aplicación HolaMundo de ejemplo // Nombre de la clase class HolaMundoApp { Inicio del programa Método public static void main(String args[]){ Se puede llamar desde Indica que main Argumentos escritos cualquier parte del programa Hace referencia no devuelve nada tras el nombre de la a la propia clase clase Funcionalidad System.out.println( "Hola Mundo!" ); Nombre del paquete Nombre de Nombre del Mensaje la clase método } } Volver al inicio