Está en la página 1de 33

PROGRAMACIN ORIENTADA A OBJETOS

Introduccin
Prof: Ing. Karla Abad Facultad de Sistemas y

Descripcin del curso

PROGRAMACIN ORIENTADA A OBJETOS Objetivos: Conocer los conceptos fundamentales de la Programacin Orientada a Objetos (POO): objetos, clases, abstraccin, encapsulamiento, herencia, polimorfismo.

Construir modelos orientados a objetos utilizando el lenguaje de modelamiento unificado (UML). Aplicar el paradigma orientado a objetos para desarrollar programas con el lenguaje de programacin Java. Entender el manejo de errores usando excepciones en
Prof: Ing. Karla Abad Facultad de Sistemas y

Descripcin del curso


Java.

Prof: Ing. Karla Abad Facultad de Sistemas y

Descripcin del curso

1. 2. 3. 4.

Captulos que veremos:


Introduccin a POO, introduccin a Java (API, Java 2SDK, JVM). Operadores y Sentencias en Jjava: Clases, Objetos y mtodos. (Definiciones, mtodo Main, encapsulacin) Manipulacin de objetos (Constructores, memoria, Garbage Collection, comparacin de Objetos) Sobrecarga (de mtodos, de operadores, conversin de tipos) Herencia (simple y mltiple, superclases y subclases, sobremontado de mtodos) Diseo orientado a Objetos (Diagramas UML)
Interfaces y Polimorfismo Constantes, Clase math y clase String, clase File

5. 6. 7. 8. 9. 10. 11.

Manejo de errores y excepciones Colecciones e Iteradores

Prof: Ing. Karla Abad Facultad de Sistemas y

Descripcin del curso

Referencias:

Texto Gua: - Java How to Program, Deitel & Deitel, 6ta Edicin - Principles of Object Oriented Analysis and Design. James Martin, Prentice Hall Otras referencias:
Introduction to JAVA programming: 6ta Edicin,Y. Daniel Liang, Editorial Prentice Hall.

Applying UML and Patterns :An Introduction to Object-Oriented Analysis and Design and the Unified Process, Craig Larman, Editorial Prentice Hall

Apuntes de clases. Java Api Documentation.

Prof: Ing. Karla Abad Facultad de Sistemas y

Descripcin del curso

Apuntes de internet.

Prof: Ing. Karla Abad Facultad de Sistemas y

Polticas del curso

4 Crditos Asistencia, puntualidad y participacin

No telfono Dos Evaluaciones:


Exmenes : 50 % Tareas, lecciones y proyectos: 45% Participacin en clase: 5%

Prof: Ing. Karla Abad Facultad de Sistemas y

Profesora
Ing. KarlaAbad Sacoto Ing. en Computacin Especializacin Sistemas Tecnolgicos ESPOL Mster en Tecnologas de la Informacin Geogrfica UAB Correo: karla.abad.13@gmail.com

Prof: Ing. Karla Abad Facultad de Sistemas y

1. Introduccin a POO, introduccin a Java.

Introduccin a la Programacin Orientada a Objetos

Qu es POO??
Es un modelo Una filosofa Un paradigma Con su teora y metodologa de programacin.

Por qu POO??
Provee una manera ms natural de disear sistemas, permitindonos simplificar el diseo de sistemas complejos.

Prof: Ing. Karla Abad Facultad de Sistemas y

1. Introduccin a POO, introduccin a Java.

Introduccin a la Programacin Orientada a Objetos Por qu POO??


Una manera ms natural La programacin orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la mquina. Estamos hablando de una nueva forma de pensar acerca del proceso de descomposicin de problemas y de desarrollo de soluciones de programacin

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a la Programacin Orientada a Objetos

Programacin Estructurada vs. POO.

Hasta el momento la forma de enfrentarse a la complejidad que presenta el software ha sido empleando lo que llamamos programacin estructurada

Descomposicin del problema en sub-problemas hasta llegar a acciones muy simples y fciles de codificar. Bsicamente descomponer el problema en acciones (procedimientos o funciones). Por ejemplo un programa que resuelva ecuaciones de segundo grado:
Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a la Programacin Orientada a Objetos


Pedir el valor de los coeficientes a, b y c; Calcular el valor del discriminante En funcin del signo del discriminante, calcular ninguna, una o dos races.

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a la Programacin Orientada a Objetos

Programacin Estructurada vs. POO.

La programacin orientada a objetos es otra forma de descomponer problemas. Descomposicin en objetos; intentando simular el escenario real del problema en nuestro programa.

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a la Programacin Orientada a Objetos

Programacin Estructurada vs. POO.

Los lenguajes de programacin tradicionales NO OO


C, Pascal, BASIC, o VB Funcionamiento en el concepto de procedimiento o funcin.

Una funcin es simplemente un conjunto de instrucciones que operan sobre unos argumentos y producen un resultado.

El elemento bsico de los lenguajes OO no es la funcin, sino un ente denominado objeto.


C++, Java, C#,VB .NET Un objeto es la representacin en un programa de un concepto que contiene toda la informacin necesaria para abstraerlo:

Datos que describen sus atributos Operaciones que pueden realizarse sobre los mismos.
Prof: Ing. Karla Abad Facultad de Sistemas y

1. Introduccin a POO, introduccin a Java.

Introduccin a la Programacin Orientada a Objetos

Diferencia entre programacin orientada a objetos y lenguaje orientado a objetos


- Un lenguaje orientado a objetos es un lenguaje de programacin que permite el diseo de aplicaciones orientadas a objetos. - Primero se debe adquirir la forma de pensar es decir la filosofa orientada a objetos y aprender despus el lenguaje - El Lenguaje OO que utilizaremos es Java - Java incorpora el uso de la orientacin a objetos como uno de los pilares bsicos y fundamentales del lenguaje.
Prof: Ing. Karla Abad Facultad de Sistemas y

1. Introduccin a POO, introduccin a Java.


- En Java nada se puede hacer sin usar al menos un objeto

Prof: Ing. Karla Abad Facultad de Sistemas y

1. Introduccin a POO, introduccin a Java.

Ventajas de la Programacin Orientada a Objetos


Fomenta la reutilizacin y extensin del cdigo. Facilita el mantenimiento del software. Permite crear sistemas ms complejos. Agiliza el desarrollo de software. Facilita la creacin de programas visuales. Facilita el trabajo en equipo. Relacionar el sistema al mundo real.

Prof: Ing. Karla Abad Facultad de Sistemas y

1. Introduccin a POO, introduccin a Java.

Introduccin a Java
Qu es Java?

Un lenguaje de programacin orientado a objetos desarrollado por Sun Microsystems.

El lenguaje Java se cre con cinco objetivos principales: Debera usar el paradigma de la programacin orientada a objetos. Debera permitir la ejecucin de un mismo programa en mltiples sistemas operativos. Debera incluir por defecto soporte para trabajo en red. Debera disearse para ejecutar cdigo en sistemas remotos de forma segura. Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.
Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.

Caractersticas de Java.

Lenguaje Orientado a Objetos de propsito general. Independiente de la plataforma de ejecucin. Lenguaje compilado e interpretado a travs de la JVM (Java virtual machine). JVM se implementa en cdigo dependiente de la plataforma: por lo cual es Multiplataforma. Lenguaje de la JVM: Bytecodes es equivalente al lenguaje de mquina de un procesador. La ejecucin de un programa Java se puede realizar como:

Aplicacin independiente (de escritorio). Applet (dentro del navegador al cargar una pgina web) Servlet (ejecutado en un servidor de Internet, sin interfaz grfica).

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.

Caractersticas de Java.

Gestin de memoria por la JVM: Creacin: operador new Liberacin: no existe delete, a cambio existe el recolector de basura. Acompaado por un conjunto de bibliotecas (API de Java). Elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros o memoria. (C/C++)

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.

Historia de Java.

Lectura de recurso dado en clase.

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.

Especificaciones Java: Los lenguajes de computadora tienen reglas estrictas de uso (sintaxis).

Si no se las cumple el programa no es capaz de ser ejecutado por un computador (no compila)

Se define una especificacin del lenguaje para prevenir que este pierda su estndar.

El estndar Java fue definido por Sun Microsystems y est definido por la especificacin de lenguaje y su API.

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.

Especificaciones Java: Java se distribuye en 3 formatos:

JRE (Java Runtime Environment) solo para ejecutar programas Java (tiene las clases Core). JDK(Java Development Kit) contiene adems compiladores necesarios. Java Plug-in para instalar en los clientes web. Y adems es interesante descargar la documentacin de java en formato JavaDoc.

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.

Especificaciones Java: Java 2SDK. En Java no se parte de cero. El JSDK contiene multitud de clases ya implementadas, y organizadas en libreras de clases llamadas paquetes (packages).

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.
Java sali al mercado en 1995. En Diciembre de 1998, Sun anunci la plataforma Java 2. Java 2 es la actualizacin que implementa la actual tecnologa Java. Existen 3 ediciones del API de JAVA Java 2 Standard Edition (J2SE): desarrollo de aplicaciones clientes y applets. Java 2 Enterprise Edition (J2EE): desarrollo de aplicaciones servidor (Java servlets, JSP) Java 2 Micro Edition (J2ME): desarrollo de aplicaciones para dispositivos mviles (celulares, smart phones, PDAs) La ltima versin estable del API J2SE con su JDK es la versin 6.0 EL JDK es el framework de JAVA. Compuesto por herramientas (programas) para desarrollar y hacer testing de aplicaciones JAVA Programas en lnea de comando. Prof: Ing. Karla
Abad Facultad de Sistemas y

Introduccin a Java.
Entornos Integrados de Desarrollo: Java
Herramientas de desarrollo JAVA ms utilizadas: Jbuilder de Borland (http://www.borland.com/) NetBeans Open Source de Sun (http://www.netbeans.org/) Eclipse Open Source de IBM (http://www.eclipse.org/) Other useful tools are: Notepad ++ (http://notepad-plusplus.org/) TextPad Editor (http://www.textpad.com/) JCreator LE (http://www.jcreator.com/) JEdit (http://www.jedit.org/) JGrasp (http://www.jgrasp.org/)
Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.
BlueJ (http://www.bluej.org/) DrJava (http://drjava.sourceforge.net/)

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.
Mquina Virtual de Java (JVM).

En el proceso de compilacin, el compilador JAVA (javac.exe) genera un cdigo independiente de la plataforma, cdigo bytecode

Bytecode es una especie de lenguaje de mquina de una mquina

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.
virtual

Prof: Ing. Karla Abad Facultad de Sistemas y

Introduccin a Java.
Mquina Virtual de Java (JVM).

En el proceso de ejecucin, la Java Virtual Machine (java.exe) realiza una compilacin Just In Time

Interpreta el Bytecode para generar el cdigo de mquina segn la arquitectura y sistema operativo sobre el cual se encuentra. En el lenguaje JAVA, el compilador , queFacultad traduce los fuentes a de Sistemas y
Telecomunicaciones

Introduccin a Java.
bytecode, y el intrprete de JAVA, que en realidad interpreta bytecode.
Prof: Ing. Karla Abad

Facultad de Sistemas y Telecomunicaciones

Introduccin a Java.
Mquina Virtual de Java (JVM).
Entonces cmo funciona ? -Fuente Java : archivo .java Archivo utilizado durante la fase de programacin. El nico archivo realmente inteligible para el programador. - Byte-Code Java : archivo .class Cdigo objeto destinado a ser ejecutado en toda Maquina Virtual de Java Procede de la compilacin del cdigo fuente (javac *.java) -Maquina Virtual Java Interprete de java convirtiendo el cdigo a un lenguaje entendible para la mquina, ejecuta el Byte-Code Java.

Prof: Ing. Karla Abad Facultad de Sistemas y Telecomunicaciones

Introduccin a Java.
La plataforma Java.

Prof: Ing. Karla Abad Facultad de Sistemas y Telecomunicaciones

También podría gustarte