Fundamentos de POO M.C. Juan Carlos Olivares Rojas Enero 2011
Temario
• Evolución de la Programación • Conceptos Fundamentales de POO • Lenguajes Orientados a Objetos • Relación entre clases y objetos • Papel de clases y objetos en el análisis
• Analizar la evolución de los paradigmas de programación para comprender las bases de la POO
Competencia Específica
Evoluci贸n de la Programaci贸n
Programación • Asignación en un orden lógico de actividades y recursos para lograr un fin.
• ¿Cómo se programa una computadora?
Progra de Computadoras
• La programación se hace a travÊs de un traductor ya que el lenguaje de una computadora es 0 y 1 mientras que nuestro lenguaje es un lenguaje natural
Progra de Computadoras
• El primer lenguaje de programación fue el lenguaje máquina representado por 0s y 1s • Generalmente se hacia la conmutación de circuitos de forma manual.
Progra de Computadoras
• Imagen de Computadora primera generación
Progra de Computadoras
• Posteriormente se desarrollaron los lenguajes ensambladores. • Los lenguajes de alto nivel llegaron con la aparición de los primeros lenguajes de programación como FORTRAN.
Progra de Computadoras
• En la década de los 70 a parecen los primeros lenguajes estructurados (no había mucha estructura anteriormente) • Un paradigma es una forma de estructura un pensamiento o idea.
Progra de Computadoras
• Los lenguajes orientados objetos no son nuevos. • Desde la década de empezaron a aparecer.
a
1970
• Existen muchos paradigmas de programación, todos tratando de ser simples y potentes
• Un algoritmo es un conjunto ordenado y finito de pasos que nos llevan a resolver un problema en particular.
Algoritmos
• La programación de computadoras se hace conmunmente a través de algoritmos.
• Un pseudocódigo es una representación de un algoritmo en una notación especializada
Algoritmos
• Los algoritmos se pueden representar en diversas notaciones como pseudocódigo o diagramas de flujo.
• Los algoritmos se asemejan a cualquier sistema dado que poseen entradas y salidas, así como se realizan procesos internos.
Algoritmos
• En nuestro curso se manejara una sintaxis de español estructurado orientado a objetos.
• Para nosotros como desarrolladores son cajas blancas ya que nos enfocamos en que se hagan las cosas.
Algoritmos
• Para los usuarios finales, los programas de cómputo son como caja negras, dado que dado unas entradas obtienen unos resultados.
Conceptos Fundamentales de POO
• Los objetos son entidades tienen atributos comportamientos específicos.
que y
• Nuestro mundo lleno de objetos.
está
cotidiano
• POO es pensar todo en objetos
POO
• ¿cuáles son atributos y cmportamientos?
POO
• Me queda claro lo que es un objeto pero ¿para que me sirve? • Un problema se puede resolver a través de diversas piezas más pequeñas llamadas objetos. • Un objeto es nuestro ladrillo de construcción de software
POO
Lenguajes Orientados a Objetos
Java • Existen muchos lenguajes orientados a objetos como C++, python, SmallTalk, Eiffel, C#, entre otros siendo Java el más popular. • Java es un lenguaje muy claro y sencillo.
Java • Multiplataforma (código-p) • Desarrollado por Oracle abierto a especificaciones.
aunque
• Existen diversas plataformas de Java: JEE (Empresarial-Servidores), JSE (Estandar-PC), JME(MicroMóviles)
Java • Para poderse ejecutar los archivos binarios (*.class llamados bytecode) necesitan de la máquina virtual de Java. • Este curso se enfocará al JSE.
Relaci贸n entre clases y objetos
• Las clases determinan un comportamiento estático, mientras que los objetos representan la parte dinámica
¿Qué es una clase?
• Una clase no es otra cosa que un molde o una plantilla para crear objetos del mismo tipo.
Papel de Clases y Objetos en el anĂĄlisis - diseĂąo
• Un mensaje es la ejecución o llamado de un comportamiento de un objeto.
Papel clases y objetos
• La comunicación entre objetos se hace a través del paso de mensajes.
• Los métodos son el pegamento de nuestros objetos. • ¿Qué objetos tiene un juego de gato?
Papel clases y objetos
• A los comportamientos se les llama comúnmente métodos.
• Al hablar de clases hablamos de tipos de datos, mientras los objetos son la instanciación de las clases. Por ejemplo la clase Orca puede tener objetos a Keiko y Wily.
Papel Clases y Objetos
• Dependerá mucho de la implementación del juego de Gato.
Dudas