Lenguaje Java
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Lenguaje Java

  • 1,053 views
Uploaded on

Programacion Java Orientado a Objetos.

Programacion Java Orientado a Objetos.

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,053
On Slideshare
1,053
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
29
Comments
0
Likes
0

Embeds 0

No embeds

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. LENGUAJE JAVA Integrantes del Grupo:• Cristian Alexis Ortega• Julián Mauricio Castro
  • 2. Java es un lenguaje de programación orientado aobjetos, desarrollado por Sun Microsystems aprincipios de los años 90. El lenguaje en sí mismotoma mucha de su sintaxis de C y C++, pero tieneun modelo de objetos más simple y eliminaherramientas de bajo nivel, que suelen inducir amuchos errores, como la manipulación directa depunteros o memoria. Con respecto a la memoria, sugestión no es un problema ya que ésta esgestionada por el propio lenguaje y no por elprogramador.
  • 3. Las aplicaciones Java están típicamente compiladas enun bytecode, aunque la compilación en código máquinanativo también es posible. En el tiempo de ejecución, elbytecode es normalmente interpretado o compilado acódigo nativo para la ejecución, aunque la ejecucióndirecta por hardware del bytecode por un procesadorJava también es posible.La implementación original y de referencia delcompilador, la máquina virtual y las bibliotecas de clasesde Java fueron desarrolladas por Sun Microsystems en1995. Desde entonces, Sun ha controlado lasespecificaciones, el desarrollo y evolución del lenguaje através del Java Community Process, si bien otros handesarrollado también implementaciones alternativas deestas tecnologías de Sun, algunas incluso bajo licenciasde software libre.
  • 4. Las diferencias entre el C + + y Java de programación se puede remontar a su patrimonio , ya que tienen diferentes objetivos de diseño. C + + fue diseñado para los sistemas y la programación de aplicaciones, extendiendo el lenguaje de programación C . Para este procedimiento de programación de lenguaje diseñado para una ejecución eficiente, C + + ha añadido soporte para el tipo estático programación orientada a objetos, el manejo de excepciones , manejo de recursos de ámbito , y la programación genérica , en particular. También se agregó una biblioteca estándar que incluye contenedores genéricos y algoritmos. Java fue creado inicialmente como un intérprete para los sistemas de impresión, pero creció para apoyar lacomputación en red . Sun Microsystems se utiliza para la base de su "HotJava" sistema de cliente ligero. Se basa en una máquina virtual para ser segura y altamente portátil. Que
  • 5. Un applet Java es un applet escrito en el lenguajede programación Java. Los applets de Java puedenejecutarse en un navegador web utilizando la JavaVirtual Machine (JVM), o en el AppletViewer de Sun.Entre sus características podemos mencionar unesquema de seguridad que permite que los appletsque se ejecutan en el equipo no tengan acceso apartes sensibles (por ej. no pueden escribirarchivos), a menos que uno mismo le dé lospermisos necesarios en el sistema; la desventaja deeste enfoque es que la entrega de permisos esengorrosa para el usuario común, lo cual juega en
  • 6. El bytecode es un código intermedio másabstracto que el código máquina. Habitualmentees tratado como un fichero binario que contieneun programa ejecutable similar a un móduloobjeto, que es un fichero binario producido porel compilador cuyo contenido es el códigoobjeto o código máquina.El bytecode recibe su nombre porqueusualmente cada código de operación tiene unalongitud de un byte, si bien la longitud delcódigo de las instrucciones varía. Cadainstrucción tiene un código de operación entre 0y 255 seguido de parámetros tales como los
  • 7. CARACTERISTICAS DEL LENGUAJE JAVA:Lenguaje simpleJava posee una curva de aprendizaje muy rápida. Resultarelativamente sencillo escribir applets interesantes desde elprincipio. Todos aquellos familiarizados con C++ encontraránque Java es más sencillo, ya que se han eliminado ciertascaracterísticas, como los punteros. Debido a su semejanzacon C y C++, y dado que la mayoría de la gente los conoceaunque sea de forma elemental, resulta muy fácil aprenderJava. Los programadores experimentados en C++ puedenmigrar muy rápidamente a Java y ser productivos en pocotiempo.Orientado a objetosJava fue diseñado como un lenguaje orientado a objetos
  • 8. DistribuidoJava proporciona una colección de clases para su uso enaplicaciones de red, que permiten abrir sockets y establecer yaceptar conexiones con servidores o clientesremotos, facilitando así la creación de aplicacionesdistribuidas.Interpretado y compilado a la vezJava es compilado, en la medida en que su código fuente setransforma en una especie de código máquina, losbytecodes, semejantes a las instrucciones de ensamblador.Por otra parte, es interpretado, ya que los bytecodes sepueden ejecutar directamente sobre cualquier máquina a lacual se hayan portado el intérprete y el sistema de ejecución
  • 9. RobustoJava fue diseñado para crear software altamente fiable. Paraello proporciona numerosas comprobaciones en compilacióny en tiempo de ejecución. Sus características de memorialiberan a los programadores de una familia entera de errores(la aritmética de punteros), ya que se ha prescindido porcompleto los punteros, y la recolección de basura elimina lanecesidad de liberación explícita de memoria.Seguro (?)Dada la naturaleza distribuida de Java, donde las applets sebajan desde cualquier punto de la Red, la seguridad seimpuso como una necesidad de vital importancia. A nadie legustaría ejecutar en su ordenador programas con accesototal a su sistema, procedentes de fuentes desconocidas. Así
  • 10. Indiferente a la arquitecturaJava está diseñado para soportar aplicaciones que seránejecutadas en los más variados entornos de red, desde Unixa Windows Nt, pasando por Mac y estaciones detrabajo, sobre arquitecturas distintas y con sistemasoperativos diversos. Para acomodar requisitos de ejecucióntan variopintos, el compilador de Java genera bytecodes: unformato intermedio indiferente a la arquitectura diseñado paratransportar el código eficientemente a múltiples plataformashardware y software. El resto de problemas los soluciona elintérprete de Java.PortableLa indiferencia a la arquitectura representa sólo una parte desu portabilidad. Además, Java especifica los tamaños de sus
  • 11. Alto rendimientoHoy en día ya se ven como terriblemente limitadas las aplicacionesque sólo pueden ejecutar una acción a la vez. Java soportasincronización de múltiples hilos de ejecución (multithreading) anivel de lenguaje, especialmente útiles en la creación deaplicaciones de red distribuidas. Así, mientras un hilo se encarga dela comunicación, otro puede interactuar con el usuario mientras otropresenta una animación en pantalla y otro realiza cálculos.DinámicoEl lenguaje Java y su sistema de ejecución en tiempo real sondinámicos en la fase de enlazado. Las clases sólo se enlazan amedida que son necesitadas. Se pueden enlazar nuevos módulosde código bajo demanda, procedente de fuentes muyvariadas, incluso desde la Red.Produce appletsJava puede ser usado para crear dos tipos de programas:aplicaciones independientes y applets.
  • 12. Programación orientada a objetosLa programación orientada a objetos oPOO (OOP según sus siglas en inglés)es un paradigma de programación queusa objetos y sus interacciones, paradiseñar aplicaciones y programasinformáticos. Está basado en variastécnicas, incluyendoherencia, abstracción, polimorfismo yencapsulamiento. Su uso se popularizóa principios de la década de los años
  • 13. Conceptos fundamentalesLa programación orientada a objetos es una forma deprogramar que trata de encontrar una solución a estosproblemas. Introduce nuevos conceptos, que superan yamplían conceptos antiguos ya conocidos. Entre ellosdestacan los siguientes:Clase: definiciones de las propiedades y comportamiento deun tipo de objeto concreto. La instanciación es la lectura deestas definiciones y la creación de un objeto a partir de ellas.Herencia: (por ejemplo, herencia de la clase C a la clase D)Es la facilidad mediante la cual la clase D hereda en ella cadauno de los atributos y operaciones de C, como si esosatributos y operaciones hubiesen sido definidos por la mismaD. Por lo tanto, puede usar los mismos métodos y variablespublicas declaradas en C. Los componentes registrados
  • 14. Objeto: entidad provista de un conjunto de propiedades oatributos (datos) y de comportamiento o funcionalidad(métodos) los mismos que consecuentemente reaccionan aeventos. Se corresponde con los objetos reales del mundoque nos rodea, o a objetos internos del sistema (delprograma). Es una instancia a una clase.Método: Algoritmo asociado a un objeto (o a una clase deobjetos), cuya ejecución se desencadena tras la recepción deun "mensaje". Desde el punto de vista delcomportamiento, es lo que el objeto puede hacer. Un métodopuede producir un cambio en las propiedades del objeto, o lageneración de un "evento" con un nuevo mensaje para otroobjeto del sistema.Evento: Es un suceso en el sistema (tal como una
  • 15. Mensaje: una comunicación dirigida a un objeto, que leordena que ejecute uno de sus métodos con ciertosparámetros asociados al evento que lo generó.Propiedad o atributo: contenedor de un tipo de datosasociados a un objeto (o a una clase de objetos), que hacelos datos visibles desde fuera del objeto y esto se definecomo sus características predeterminadas, y cuyo valorpuede ser alterado por la ejecución de algún método.Estado interno: es una variable que se declara privada, quepuede ser únicamente accedida y alterada por un método delobjeto, y que se utiliza para indicar distintas situacionesposibles para el objeto (o clase de objetos). No es visible alprogramador que maneja una instancia de la clase.
  • 16. Características de la POO:Existe un acuerdo acerca de qué características contempla la"orientación a objetos", las características siguientes son lasmás importantes:Abstracción: denota las características esenciales de unobjeto, donde se capturan sus comportamientos.Cada objetoen el sistema sirve como modelo de un "agente" abstractoque puede realizar trabajo, informar y cambiar su estado, y"comunicarse" con otros objetos en el sistema sin revelarcómo se implementan estas características. Losprocesos, las funciones o los métodos pueden también serabstraídos y cuando lo están, una variedad de técnicas sonrequeridas para ampliar una abstracción.El proceso deabstracción permite seleccionar las características relevantesdentro de un conjunto e identificar comportamientos comunespara definir nuevos tipos de entidades en el mundo real. Laabstracción es clave en el proceso de análisis y diseñoorientado a objetos, ya que mediante ella podemos llegar aarmar un conjunto de clases que permitan modelar la
  • 17. Modularidad: Se denomina Modularidad a la propiedad quepermite subdividir una aplicación en partes más pequeñas(llamadas módulos), cada una de las cuales debe ser tanindependiente como sea posible de la aplicación en sí y delas restantes partes. Estos módulos se pueden compilar porseparado, pero tienen conexiones con otros módulos. Al igualque la encapsulación, los lenguajes soportan la Modularidadde diversas formas.Principio de ocultación: Cada objeto está aislado delexterior, es un módulo natural, y cada tipo de objeto exponeuna interfaz a otros objetos que especifica cómo puedeninteractuar con los objetos de la clase. El aislamiento protegea las propiedades de un objeto contra su modificación porquien no tenga derecho a acceder a ellas, solamente lospropios métodos internos del objeto pueden acceder a su
  • 18. Polimorfismo: comportamientos diferentes, asociados a objetosdistintos, pueden compartir el mismo nombre, al llamarlos por esenombre se utilizará el comportamiento correspondiente al objetoque se esté usando. O dicho de otro modo, las referencias y lascolecciones de objetos pueden contener objetos de diferentestipos, y la invocación de un comportamiento en una referenciaproducirá el comportamiento correcto para el tipo real del objetoreferenciado. Cuando esto ocurre en "tiempo de ejecución", estaúltima característica se llama asignación tardía o asignacióndinámica. Algunos lenguajes proporcionan medios más estáticos(en "tiempo de compilación") de polimorfismo, tales como lasplantillas y la sobrecarga de operadores de C++.Herencia: las clases no están aisladas, sino que se relacionanentre sí, formando una jerarquía de clasificación. Los objetosheredan las propiedades y el comportamiento de todas las clases alas que pertenecen. La herencia organiza y facilita el polimorfismo y
  • 19. Números enterosTipo DescripciónTamaño/FormatoByte Entero byte8-bit 2sShort Entero corto16-bit 2sInt Entero32-bit 2sLong Entero largo64-bit 2s Números realesFloat Punto flotante32-bit IEEE 754Doublé Punto flotante de
  • 20. Tipo primitivo.Una variable de tipo primitivo contiene un solo valordel tamaño y formato apropiado de su tipo: unnúmero, un carácter, o un valor booleano.En Java, cualquier numérico con punto flotanteautomáticamente se considera double. Para que seaconsiderado float se agrega una letra "f" o "F" al finaldel valor.double d = 10.50;float f = 10.50F;
  • 21. Los operadores son muy similares a los de C++, ya loadvertimos en su momento.Operadores Aritméticos: Los habituales•Suma +.•Resta - .•Multiplicación *.•División /.•Resto de la División %.Operadores de Asignación: El principal es = pero hay másoperadores de asignación con distintas funciones queexplicamos brevemente ahora.•+= : op1 += op2 à op1 = op1 + op2•-= : op1 -= op2 à op1 = op1 - op2•*= : op1 *= op2 à op1 = op1 * op2
  • 22. Operadores Unarios: El mas (+) y el menos (-).Para cambiar el signo del operando.Operador Instanceof: Nos permite saber si unobjeto pertenece a una clase o no.NombreObjeto instanceof NombreClaseOperadores Incrementales: Son losoperadores que nos permiten incrementar lasvariables en una unidad. Se pueden usardelante y detrás de la variable dependiendo delo que queramos, es decir, si queremos queincremente o viceversa antes de utilizar o locontrario.
  • 23. Operadores Relacionales: Permiten comparar variablessegún relación de igualdad/desigualdad o relaciónmayor/menor. Devuelven siempre un valor boolean.•>: Mayor que•<: Menor que•==: Iguales•¡=: Distintos•>=: Mayor o igual que•<=: Menor o igual queOperadores Lógicos: Nos permiten construir expresioneslógicas.•&&’: devuelve true si ambos operandos son true.•||’: devuelve true si alguno de los operandos son true.•!’: Niega el operando que se le pasa.•&’: devuelve true si ambos operandos sontrue, evaluándolos ambos.
  • 24. Operador de concatenación con cadena decaracteres +:•Por Ejemplo: System.out.println("El total es"+result +"unidades");Operadores que actúan a nivel de bits: Sonmucho menos utilizados por eso los explicamosmas por encima.•>>: desplazamiento a la derecha de los bitsdel operando•<<: desplazamiento a la izquierda de los bitsde operando
  • 25. Estructura En Java es...Selección Simple ifSelección Múltiple switchIteración con control previo while(Mientras) do whileIteración con control posterior(Repetir) forIteración por sub rangos (ParaCada)
  • 26. Selección Simple Selección Múltipleif (condición) switch (expresión){ { case valor1: instrucciones instrucciones} break;else case valor2:{ instrucciones instrucciones break;} ...
  • 27. Iteración con Control Previo (mientras)while (condición){ instrucciones}Iteración con Control Posterior (repetir)do{ instrucciones}while (condición);Iteración por Sub Rangos (para cada)for (inicialización; continuación; desplazamiento){ instrucciones}
  • 28. Java Development KitJava Development Kit o (JDK), es un software que proveeherramientas de desarrollo para la creación de programas enJava. Puede instalarse en una computadora local o en unaunidad de red.En la unidad de red se pueden tener las herramientasdistribuidas en varias computadoras y trabajar como una solaaplicación.
  • 29. JDK en WindowsEn los sistemas operativos Microsoft Windows sus variablesde entorno son:JAVAPATH: es una ruta completa del directorio donde estáinstalado JDK.CLASSPATH: son las bibliotecas o clases de usuario.PATH: variable donde se agrega la ubicación de JDK.Los programas más importantes que se incluyen son:Appletviewer: es un visor de applets para generar sus vistasprevias, ya que un applet carece de método main y no sepuede ejecutar con el programa java.Javac: es el compilador de Java.java: es el intérprete de Java.
  • 30. NetBeans es un entorno de desarrollo integradolibre, hecho principalmente para el lenguaje deprogramación Java. Existe además un númeroimportante de módulos para extenderlo. NetBeansIDE[1] es un producto libre y gratuito sin restricciones deuso.NetBeans es un proyecto de código abierto de granéxito con una gran base de usuarios, una comunidad enconstante crecimiento, y con cerca de 100 socios entodo el mundo. Sun MicroSystems fundó el proyecto decódigo abierto NetBeans en junio de 2000 y continúasiendo el patrocinador principal de los proyectos.