Your SlideShare is downloading. ×
Conceptos Fundamentales de POO
Conceptos Fundamentales de POO
Conceptos Fundamentales de POO
Conceptos Fundamentales de POO
Conceptos Fundamentales de POO
Conceptos Fundamentales de POO
Conceptos Fundamentales de POO
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Conceptos Fundamentales de POO

2,016

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,016
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
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. CONCEPTOS FUNDAMENTALES DEPROGRAMACIÓN ORIENTADA A OBEJTOS Janner Obredor
  • 2. Que es Java?Lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems, Laprogramación en Java es compilada en bytecode, el cuál es ejecutado por la máquina virtual Java(JVM). El lenguaje es parecido a C y C++, aunque su modelo de objetos es más sencillo.Fuente:http://www.alegsa.com.ar/Dic/java.phphttp://es.wikipedia.orgSencillo Utiliza masivamente variables que contienen direcciones de la memoria (punteros), pero sin dejar la complicación al programador. La ausencia en Java de una aritmética para los punteros debe entenderse no como una rigidez sino como una protección contra errores difíciles de detectar. La gestión dinámica de la memoria la realiza el interprete de Java y evita esa complicación al programador. El colector de memoria del interprete de Java verifica continuamente qué objetos han dejado de referenciarse y los destruye automáticamente. La ralentización que implica esta automatización está compensada por la menor propensión a errores que ello supone.Fuente:http://www.dtic.upf.edu/~vlopez/docencia/castellano/todoshtml/PIt3cas/node15.htmlOrientado a objetos: Fomenta la reutilización y extensión del código. Permite crear sistemas más complejos. Relacionar el sistema al mundo real. Facilita la creación de programas visuales. Construcción de prototipos Agiliza el desarrollo de software Facilita el trabajo en equipo Facilita el mantenimiento del softwareFuente: http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/
  • 3. Distribuido:Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías derutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a losprogramadores acceder a la información a través de la red con tanta facilidad como a los ficheroslocales.Fuente: http://www.monografias.com/trabajos/java/java.shtmlInterpretadoEl intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar (linkar)un programa, normalmente, consume menos recursos que compilarlo, por lo que losdesarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador.No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todavía no haycompiladores específicos de Java para las diversas plataformas, Java es más lento que otroslenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucedeen cualquier programa tradicional.En resumen, para conseguir que Java sea un lenguaje independiente del sistema operativo y delprocesador que incorpore la máquina utilizada, es tanto interpretado como compilado.Fuente: http://www.monografias.com/trabajos/java/java.shtmlRobustoJava realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempode ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible, en elciclo de desarrollo. Java obliga a la declaración explícita de métodos, reduciendo así lasposibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte delprogramador de la liberación o corrupción de memoria.Fuente: http://www.monografias.com/trabajos/java/java.shtmlSeguroLa seguridad en Java tiene dos facetas. En el lenguaje, características como los punteros o elcasting implícito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal ala memoria. Cuando se usa Java para crear un navegador, se combinan las características dellenguaje con protecciones de sentido común aplicadas al propio navegador.Fuente: http://www.monografias.com/trabajos/java/java.shtml
  • 4. Arquitectura neutralPara establecer Java como parte integral de la red, el compilador Java compila su código a unfichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará.Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto,sin importar en modo alguno la máquina en que ha sido generado. Actualmente existen sistemasrun-time para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple yprobablemente haya grupos de desarrollo trabajando en el porting a otras plataformas.El código fuente Java se "compila" a un código de bytes de alto nivel independiente de la máquina.Este código (byte-codes) está diseñado para ejecutarse en una máquina hipotética que esimplementada por un sistema run-time, que sí es dependiente de la máquina.Fuente: http://www.monografias.com/trabajos/java/java.shtmlPortableMás allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otrosestándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además,enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a travésde un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas enentornos Unix, Pc o Mac.Fuente: http://www.monografias.com/trabajos/java/java.shtml
  • 5. DinámicoJava se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectartodos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las libreríanuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el APIanterior).Java también simplifica el uso de protocolos nuevos o actualizados. Si su sistema ejecuta unaaplicación Java sobre la red y encuentra una pieza de la aplicación que no sabe manejar, tal comose ha explicado en párrafos anteriores, Java es capaz de traer automáticamente cualquiera de esaspiezas que el sistema necesita para funcionar.Fuente: http://www.monografias.com/trabajos/java/java.shtmlEl bytecodeEs un código intermedio más abstracto que el código máquina. Habitualmente es tratado como unfichero binario que contiene un programa ejecutable similar a un módulo objeto, que es un ficherobinario producido por el compilador cuyo contenido es el código objeto o código máquina .Los programas en bytecode suelen ser interpretados por un intérprete de bytecode (en generalllamado máquina virtual, JVM dado que es análogo a un ordenador). Su ventaja es su portabilidad:el mismo código binario puede ser ejecutado en diferentes plataformas y arquitecturasFuente: http://es.wikipedia.org/wiki/Bytecode
  • 6. JDKEl entorno básico del JDK de Java que proporciona Sun está formado por herramientas en modotexto, que son: java, intérprete que ejecuta programas en byte-code. javac, compilador de Javaque convierte el código fuente en byte-code. javah, crea ficheros de cabecera para implementarmétodos para cualquier clase. javap, es un descompilador de byte-code a código fuente Java.javadoc, es un generador automático de documentos HTML a partir del código fuente Java.javaprof, es un profiler para aplicaciones de un solo thread. HotJava, es un navegador Web escritocompletamente en Java.Fuente: http://www.monografias.com/trabajos/java/java.shtmlProgramación Orientada a Objetos (POO)Para mi la POO no es un lenguaje de programación, es una forma de enfrentarse a ella. Estosignifica que la POO servirá para desarrollar en muchos de los lenguajes comunes de hoy en díamanteniendo un mismo esquema mental.3 Propiedades de la POOEncapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientesa una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de loscomponentes del sistema. Algunos autores confunden este concepto con el principio deocultación, principalmente porque se suelen emplear conjuntamente.Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía declasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a lasque pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendoa los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estospueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Estosuele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados quereflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice quehay herencia múltiple.Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir elmismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente alobjeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetospueden contener objetos de diferentes tipos, y la invocación de un comportamiento en unareferencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuandoesto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía oasignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo decompilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.Fuente: http://es.wikipedia.org/wiki/programaci%c3%b3n_orientada_a_objetos
  • 7. Diferencia entre una Aplicación y AppletsLa diferencia entre una aplicación JAVA y un applet radica en cómo se ejecutan. Para cargar unaaplicación JAVA se utiliza el intérprete de JAVA (pcGRASP de Auburn University, Visual J++ deMicrosoft, Forte de Sun de Visual Café). En cambio, un applet se puede cargar y ejecutar desdecualquier explorador que soporte JAVA (Netscape, Mozilla Firefox, Google Chrome...).Fuente: http://es.wikipedia.org/wiki/AppletEstructura básica java

×