Figure: Lenguajes. Generaciones de lenguajes de programación.

Slides:



Advertisements
Presentaciones similares
Manejo de Eventos Visita FIEC.
Advertisements

Curso de java básico (scjp)
Curso de java básico (scjp)
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Definición de Clases y Variables de referencia.
Lenguaje de programación Java
UML para programadores Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Lenguajes de programación
Arquitectura CLARO-TECNOTREE
REFERENCIA AL OBJETO DE LA CLASE BASE
Programación Orientada a Objetos
Patrones de Diseño GEYFFER ALEXANDER ACOSTA CRISTHIAN DOUGLAS CASTRO
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Tratamiento de listas en Java
EI, Profesor Ramón Castro Liceaga APLICACIONES DE JAVA CON PAGINAS WEB (Applets) UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
PROGRAMACION ORIENTADA
Programación Orientada a Objetos en Java
Marzo 2007 Lenguajes Visuales Clase III.
METODOLOGIA DE LA PROGRAMACION
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Lenguaje de Programación Java Profesor: Mauricio Martínez P. Análisis y Diseño Orientado a Objetos UML: Lenguaje de Modelamiento Unificado Toma de Requerimientos.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
MouseListener y MouseMotionListener SUSANA CAROLINA VILLA TORRES.
Medio de tele-comunicación
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Lic. Rosemary Torrico Bascopé
Slide 7-1 Copyright © 2003 Pearson Education, Inc. Figure: Estructuras de datos.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Tema 10: Interfaces Antonio J. Sierra.
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Diplomado Desarrollo de Aplicaciones en Internet
Patrones de diseño DECORATOR Mario Rodríguez Martín
ELO-329: Diseño y Programación Orientados a Objetos 1 Conceptos ELO329: Diseño y Programación Orientados a Objetos.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
¿Qué son Los Lenguajes de Programación?
Facultad de Ingeniería
Programación Orientada a Objeto
Programación orientada a objetos (OPP)
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
CONCEPTOS.
Conceptos. -Programación orientada a eventos. -Instancias de clase. -Atributo de los objetos. -Método main, get y set. -Ejemplo de la declaración de.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
Manejo de Eventos Visita FIEC FIEC. Eventos En evento es una acción iniciada por el usuario. Ejemplo de eventos son: presionar un botón, cambiar un texto,
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Clases “ Es una Abstracción de un elemento del mundo real ”
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Figure: Lenguajes

Generaciones de lenguajes de programación

Evolución de los paradigmas de lenguajes

Paradigmas de programación -Imperativo: los programas tienen estados y hay sentencias que cambian ese estado -Lógico: lógica aplicada a sistemas expertos -Funcional: funciones matemáticas -Orientado al evento: estructura y acción del programa determinada por sucesos -Orientado al objeto -Orientado al aspecto: nivel de abstracción más alto, en desarrollo

Lenguaje imperativo

Proceso de traducción

Reconocedores de lenguaje Diagrama sintáctico de una sentencia if

Reconocedores de lenguajes Diagrama sintáctico de una expresión

Proceso completo de creación de un programa

Reconocedores de lenguajes Autómatas finitos Alfabeto: conjunto finito, no vacío, de símbolos a partir del cual se construyen las cadenas que se analizan. Flujo de entrada: cadena que analizará como una secuencia de símbolos, uno a la vez. Consiste en: S: conjunto finito de estados ∑: alfabeto de la máquina (autómata) Δ: función de transición de Sx ∑ a S I: un elemento de S, estado inicial F: un subconjunto de S, estados finales

Reconocedores de lenguajes Autómatas finitos representación pictórica S: conjunto finito de estados (r: identificación) ∑: alfabeto de la máquina (autómata) Δ: función de transición de Sx ∑ a S I: un elemento de S, estado inicial F: un subconjunto de S, estados finales i j Elemento de ∑ 0 i r

Reconocedores de lenguajes Autómatas finitos. Ejemplo: 0 1 a 2 E a b b {a, b} Reconocer cadenas: ab k a k=0,1,2,….. Cadena mínima: aa Se parte analizando el primer símbolo de la izquierda Se termina cuando se alcanza el último símbolo de la cadena Se cambia al estado que tiene el símbolo que se está analizando Si al terminar la cadena se está en un estado final, la cadena es reconocida S: {0, 1, 2, E} ∑: {a, b} I: {0} F: {2}

Reconocedores de lenguajes Autómatas finitos. Ejemplo: 0 2 a 3 E a b b {a, b} Reconocer cadenas: ab k a k>1 Cadena mínima: aba 1 b a S: {0, 1, 2, 3, E} ∑: {a, b} I: {0} F: {3}

Lenguajes orientados al objeto -Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard del Centro de Cómputo Noruego en Oslo. Al parecer, en este centro, trabajaban en simulaciones de naves, y fueron confundidos por la explosión combinatoria de cómo las diversas cualidades de diversas naves podían afectar unas a las otras.Simula 67Ole-Johan DahlKristen NygaardCentro de Cómputo NoruegoOslo

Lenguajes orientados al objeto -Herencia: jerarquía de clases, los objetos heredan propiedades las clases que le preceden - Polimorfismo: objetos de clases distintas comparten nombres de comportamiento que se diferencian en algunos aspectos: ej.: moverse, vehículos/personas -Encapsulamiento: esconder detalles de una clase de objeto a otras clases de objeto: abierto, protegido, cerrado, semicerrado.

Herencia y jerarquía de clases en Java (1) Una clase puede se extendida por otra clase más específica: Ejemplo: Esfera +-> burbuja | +->pelota +-> futbol | +-> tenis

Slide 5-17 Copyright © 2003 Pearson Education, Inc. Herencia y jerarquía de clases en Java (2) extendida significa que se le agregan detalles más específicos pero las clases herederas pueden hace uso de los recursos de la clase extendida. Estos pueden ser variables y/o métodos Reglas de visibilidad de variables y métodos: public : se puede hacer referencia desde cualquier clase private : sólo se pueden referenciar desde instrucciones en la clase que se ha declarado protected: sólo se puede referenciar desde una subclase locales al método: sólo pueden ser referenciadas desde el interior del método en que se declaran

Ventana gráfica (1) class Pizarra extends Frame { Pizarra(){ } } Esta clase aumentará los atributos de una clase existente en java.awt Al crear un objeto de clase Frame y activarlo, se abre una ventana, lo mismo ocurre con la nueva clase Pizarra

Slide 5-19 Copyright © 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { Pizarra(){ } } La implementación de una interfaz (MouseListener), obliga a agregarle unos métodos con nombre estándar que se ejecutan cuando se usan los botones del mouse Ventana gráfica (eventos de mouse)

Slide 5-20 Copyright © 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { Pizarra(){ } public void mousePressed(MouseEvent e){;] public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} } Estos métodos estándar se ejecutan cuando se usan los botones del mouse Tal como está la clase arriba, los eventos del mouse no serán recibidos y hay hacer lo que sigue: Ventana gráfica (3)

Slide 5-21 Copyright © 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} } En el constructor, se agrega esta línea que habilita la recepción de eventos de mouse Significa: esta clase atiende los eventos de esta clase (puede ser que una clase atienda los eventos de otra) Ventana gráfica (4)

Slide 5-22 Copyright © 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { int x=0, y=0; Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(x,y,60, 30); } Otro método de utilidad para una ventana es paint El método paint es llamado automáticamente cada vez que la ventana se activa Ventana gráfica (5)

Slide 5-23 Copyright © 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { int x=0, y=0; Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){ x = e.getX(); y = e.getY(); repaint(); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} public void paint(Graphics g){ g.setColor(Color.red); g.fillRect(x,y,60, 30); } El método paint es llamado indirectamente si se llama directamente repaint Ventana gráfica (6)

Slide 5-24 Copyright © 2003 Pearson Education, Inc. class Pizarra extends Frame implements MouseListener { //Lista de objetos puede ir acá Pizarra(){ this.addMouseListener(this); } public void mousePressed(MouseEvent e){ //agregar objetos a lista puede ir en este u otro método repaint(); } public void mousePressed(MouseEvent e){;} public void mouseClicked(MouseEvent e){;} public void mouseReleased(MouseEvent e){;} public void mouseEntered(MouseEvent e){;} public void mouseExited(MouseEvent e){;} public void paint(Graphics g){ //dibujar la lista de objetos puede ir en este método } El método paint puede dibujar muchos objetos si se desea Ventana gráfica (7)

Slide 5-25 Copyright © 2003 Pearson Education, Inc. Crear clase nodo class Nodo { int x, y; public Nodo siguiente; Nodo(int xx, int yy){ x = xx; y = yy; } public void dibujarNodo(Graphics g){ } ysiguientex yx

Crear una lista: 2.- aux = new Nodo( ); objeto aux null lista 3.- aux.siguiente = lista; 4.- lista = aux; objeto aux null lista objeto aux null lista 5.- aux = new Nodo( ); objeto null lista objeto aux 6.- aux.siguiente = lista; objeto null lista objeto aux 1.- Nodo aux, lista; null aux ¿Qué se debe repetir?