Tema 1. Introducción a la Programación Orientada a Objetos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 1. Introducción a la Programación Orientada a Objetos"

Transcripción

1 Tema 1. Introducción a la Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 1 / 31

2 Programación Orientada a Objetos Tema 1. Introducción a la programación orientada a objetos Evolución de los lenguajes de programación Conceptos fundamentales de la POO: Clases y objetos Metodos, mensajes y atributos Composición y herencia Polimorfismo y vinculación dinámica Esta obra se encuentra bajo una licencia Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) de Creative Commons. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 2 / 31

3 Evolución de los lenguajes de programación A medida que aumenta la potencia de los ordenadores También aumenta la complejidad de los problemas que se resuelven. También aumenta la dificultad del diseño y desarrollo de los programas. Motiva la creación de nuevos paradigmas de programación que faciliten la creación de programas cada vez más complejos. Los lenguajes de programación evolucionan adaptándose a los nuevos entornos y paradigmas. ALGORITMOS LENGUAJES DATOS Código Máquina Código Máquina Dirección Memoria Instrucciones Simbólicas Ensamblador Etiquetas Simbólicas Subprogramas Fortran Tipos y Variables Programación Estructurada Algol Tipos Estructurados Módulos Módula-2 Tipos Abstractos Datos POO y Métodos Smalltalk Clases y Objetos Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 3 / 31

4 Evolución de los lenguajes de programación 1950 C. Maquina Ensamblador Programación Imperativa Programación Declarativa Funcional Lógica Fortran I Cobol Fortran IV Algol 58 Algol 60 Lisp 1965 Basic Simula I Algol 68 Simula Pascal B Prolog 1975 C Scheme Fortran Modula 2 ADA Smalltalk 1985 C++ Eiffel Haskell 1990 Fortran 9x Delphi Programacion Orientada a Objetos 1995 Java 2000 Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 4 / 31

5 Conceptos fundamentales de la POO Programación Orientada a Objetos Es un paradigma de programación que nos permite diseñar programas definiendo abstracciones que modelan los datos que representan el problema que queremos resolver. Se caracteriza por la definición y creación de objetos que encapsulan datos y algoritmos: Atributos (datos): almacenan el estado interno del objeto. Métodos (algoritmos): definen el comportamiento del objeto. Permiten la manipulación e interacción entre objetos. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 5 / 31

6 Ejemplo Abstracción: Urna Una urna es una caja opaca que contiene bolas blancas y negras. Comportamiento de la urna (métodos): Introducir bolas blancas y negras. Sacar una bola (cualquiera). Saber si la urna está vacía. Saber cuantas bolas en total hay en la urna. Estado interno de la urna (atributos): La cuenta del total de bolas blancas dentro de la urna. La cuenta del total de bolas negras dentro de la urna. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 6 / 31

7 Ejemplo Abstracción: Urna Dada la abstracción (clase) Urna especificada en el ejemplo anterior: Podemos crear múltiples instancias (objetos) de ella. Urna(3,1), Urna(5,0), Urna(2,4) Cada instancia (objeto) de la Clase Urna posee su propio estado (atributos). La cuenta de bola blancas y bolas negras que contiene. Todos las instancias de la Clase Urna tienen el mismo comportamiento. Podemos interactuar con cada objeto, independientemente, a través de los métodos que definen su comportamiento. Manipular el estado de cada objeto. Por ejemplo, podemos introducir una bola blanca en el objeto Urna(2,4). Consultar el estado de cada objeto. Por ejemplo, si consultamos el número de bolas totales que hay en la urna después de la operación anterior, se devolverá una cantidad total de 7. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 7 / 31

8 Conceptos fundamentales de la POO Clase Una Clase representa una abstracción de datos, especifica las características de unos objetos: su estado y su comportamiento. Es una entidad estática, se define en tiempo de compilación. n_blancas: int n_negras: int Urna introducirbola(c: Color) sacarbola(): Color estavacia(): boolean totalbolas(): int Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 8 / 31

9 Conceptos fundamentales de la POO Objeto Un objeto es una instancia de una determinada Clase. Las características del objeto (estado y comportamiento) están determinadas por la Clase a la que pertenece. Puede haber muchos objetos distintos que sean de la misma Clase (y tambien de distintas Clases). Cada objeto almacena y contiene su propio estado interno (atributos), de forma independiente de los otros objetos. El objeto podrá ser manipulado e interactuar con otros objetos a través de los métodos definidos por la Clase a la que pertenece. Es una entidad dinámica, se crea y se destruye durante la ejecución del programa. urna1: Urna urna2: Urna urna3: Urna n_blancas = 3 n_blancas = 5 n_blancas = 2 n_negras = 1 n_negras = 0 n_negras = 4 Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a ObjetosProgramación Orientada a Objetos 9 / 31

10 Conceptos fundamentales de la POO Métodos La clase representa una abstracción de datos, y los métodos definen su comportamiento. Los métodos son algoritmos especiales definidos por la Clase, y se aplican sobre los objetos. Manipulan el estado interno del objeto sobre el que se aplican. También se les denomina métodos de instancia, o métodos del objeto. Paso de Mensajes. Invocación a Métodos Se puede enviar un mensaje a un objeto para invocar a un determinado método, que se aplicará sobre el objeto. Los objetos responden a las invocaciones de los métodos dependiendo de su estado interno. La invocación a métodos puede llevar parámetros asociados, produce un resultado, y manipula el estado interno del objeto sobre el que se aplica. Para invocar a un determinado método sobre un objeto, ese método debe estar definido por la clase a la que el objeto pertenece. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 10 / 31

11 Conceptos fundamentales de la POO Atributos Almacenan los valores del estado interno del objeto. Cada objeto tiene su propio estado interno asociado, independiente de los otros objetos. Los atributos estan protegidos. Sólo se permite su acceso y manipulación a través de los métodos. También se les denomina variables de instancia, o variables del objeto. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 11 / 31

12 Ejemplo Abstracción: Punto del plano Cartesiano Un punto representa una determinada posición en el plano Cartesiano. Comportamiento de un punto: Especificar el valor de sus coordenadas X e Y. Consultar el valor de sus coordenadas X e Y. Calcular la distancia que lo separa de otro objeto punto. Desplazar según una distancia especificada en ambos ejes. Estado interno del punto: El valor de la coordenada X (abscisa). El valor de la coordenada Y (ordenada). Podemos crear múltiples objetos de la Clase Punto: Punto(1,2), Punto(2,1), Punto(3,3), Punto(4,1) (3,3) (1,2) (2,1) (4,1) Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 12 / 31

13 Ejemplo: Clase Punto // Punto.java public class Punto { // Atributos private double x, y; // Constructores public Punto() { x = 0; y = 0; public Punto(double a, double b) { x = a; y = b; // Métodos public double abscisa() { return x; public double ordenada() { return y; public void abscisa(double a) { x = a; public void ordenada(double b) { y = b; public void desplazar(double a, double b) { x += a; y += b; public double distancia(punto pto) { return Math.sqrt(Math.pow(x - pto.x, 2) + Math.pow(y - pto.y, 2)); Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 13 / 31

14 Ejemplo: Clase Punto // Main.java public class Main { public static void main(string[] args) { Punto pto1 = new Punto(1, 2); Punto pto2 = new Punto(2, 1); Punto pto3 = new Punto(3, 3); Punto pto4 = new Punto(3, 1); pto4.desplazar(1, 1); pto1 Punto pto2 Punto pto3 Punto pto4 Punto (3,3) (3,3) (1,2) (1,2) (4,2) pto4 Punto pto4.desplazar(1,1) (2,1)(3,1) (2,1) 4 2 Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 14 / 31

15 Representación Gráfica UML de Clases y Objetos Representación Gráfica UML de Clases Una clase se representa mediante una caja con tres compartimentos, conteniendo cada uno de ellos el nombre, los atributos y los métodos de la clase. x,y: double Punto desplazar(a: double, b: double) distancia(p: Punto): double Representación Gráfica UML de Objetos Un objeto se representa mediante una caja con dos compartimentos, conteniendo el primero el nombre del objeto y de la clase a la que pertenece, y el segundo los valores de los atributos del objeto. pto1: Punto pto2: Punto pto3: Punto pto4: Punto x = 1 x = 2 x = 3 x = 4 y = 2 y = 1 y = 3 y = 2 Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 15 / 31

16 Conceptos fundamentales de la POO Composición Permite la definición de nuevas clases a partir de otras clases ya definidas. Representa una relación en la cual un objeto tiene o está compuesto por otros objetos. Por ejemplo, un Segmento tiene dos Puntos, el origen y el extremo. Segmento Punto origen, extremo: Punto desplazar(a: double, b: double) longitud():double x,y: double desplazar(a: double, b: double) distancia(p: Punto): double La composición se puede expresar en UML mediante una línea (o flecha) entre la clase poseedora y la clase poseída. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 16 / 31

17 Conceptos fundamentales de la POO Composición Permite la definición de nuevas clases a partir de otras clases ya definidas. Representa una relación en la cual un objeto tiene o está compuesto por otros objetos. Por ejemplo, un Segmento tiene dos Puntos, el origen y el extremo. Segmento origen x,y: double Punto desplazar(a: double, b: double) desplazar(a: double, b: double) longitud():double extremo distancia(p: Punto): double La composición se puede expresar en UML mediante una línea (o flecha) entre la clase poseedora y la clase poseída. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 17 / 31

18 Conceptos fundamentales de la POO Composición Permite la definición de nuevas clases a partir de otras clases ya definidas. Representa una relación en la cual un objeto tiene o está compuesto por otros objetos. Por ejemplo, un Segmento tiene dos Puntos, el origen y el extremo. Segmento origen > x,y: double Punto desplazar(a: double, b: double) > desplazar(a: double, b: double) longitud():double extremo distancia(p: Punto): double La composición se puede expresar en UML mediante una línea (o flecha) entre la clase poseedora y la clase poseída. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 18 / 31

19 Ejemplo: Clase Segmento // Segmento.java public class Segmento { // Atributos private Punto origen, extremo; // Constructores public Segmento(double x1, double y1, double x2, double y2) { origen = new Punto(x1, y1); // creación de objetos de la clase Punto extremo = new Punto(x2, y2); // creación de objetos de la clase Punto // Métodos public void desplazar(double a, double b) { origen.desplazar(a, b); // invocación a métodos de la clase Punto extremo.desplazar(a, b); // invocación a métodos de la clase Punto public double longitud() { return origen.distancia(extremo); // invocación a métodos de la clase Punto Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 19 / 31

20 Ejemplo: Clase Segmento // Main.java public class Main { public static void main(string[] args) { Segmento sgt = new Segmento(2, 1, 3, 3); double lng = sgt.longitud(); sgt Segment Punto 2 1 Punto (3,3) 3 3 (2,1) Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 20 / 31

21 Conceptos fundamentales de la POO Composición Otros ejemplos de composición. Cilindro Círculo Punto base centro alt: double > rad: double > x,y: double Concesionario Coche Motor coches motor nm: String > mod: String > pot: double *... (0 o más) Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 21 / 31

22 Conceptos fundamentales de la POO Herencia Permite la definición de nuevas clases a partir de otras clases ya definidas. Representa una relación en la cual una Clase es una especialización o extensión de otra Clase. Por ejemplo, una Partícula es un Punto con masa. x,y: double Punto desplazar(a: double, b: double) distancia(p: Punto): double masa: double Partícula atracción(p: Partícula): double La herencia se expresa en UML mediante una línea desde la sub-clase con un triángulo en el extremo de la super-clase. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 22 / 31

23 Conceptos fundamentales de la POO Herencia Permite la definición de nuevas clases a partir de otras clases ya definidas. Representa una relación en la cual una Clase es una especialización o extensión de otra Clase. Por ejemplo, un Paciente es una Persona, y un Médico también es una Persona. Persona nombre: String... Paciente numsegsocial: String Médico categoría: String La herencia se expresa en UML mediante una línea desde la sub-clase con un triángulo en el extremo de la super-clase. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 23 / 31

24 Conceptos fundamentales de la POO Herencia Permite definir una nueva sub-clase (o clase derivada) como una especialización o extensión de una super-clase (o clase base) más general. La sub-clase hereda tanto los atributos como los métodos definidos por la super-clase (reusabilidad del código). La sub-clase puede definir nuevos atributos y nuevos métodos (extensibilidad), así como redefinir métodos de la super-clase. Permite definir jerarquías de clases (ascendientes, y descendientes). La relación de herencia es transitiva, si C hereda de B y B hereda de A, entonces C también hereda de A. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 24 / 31

25 Ejemplo: Clase Partícula // Particula.java public class Particula extends Punto { // Atributos final static double G = 6.67e-11; private double masa; // ( + los atributos heredados de Punto ) // Constructores public Particula(float m) { this(0, 0, m); // Se refiere a Partícula(double, double, double) public Particula(double a, double b, double m) { super(a, b); // Se refiere a Punto(double, double) masa = m; // Métodos ( + los métodos heredados de Punto ) public void masa(double m) { masa = m; public double masa() { return masa; public double atraccion(particula part) { // Nótese la invocación al método distancia heredado de Punto // return G * masa * part.masa / Math.pow(distancia(part), 2); return G * this.masa * part.masa / Math.pow(this.distancia(part), 2); Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 25 / 31

26 Conceptos fundamentales de la POO Polimorfismo Un lenguaje tiene capacidad polimórfica cuando una variable declarada de un determinado tipo (clase) (tipo estático) puede referenciar en tiempo de ejecución a valores (objetos) de tipo (clase) distinto (tipo dinámico). En POO el polimorfismo está restringido a la relación de herencia. El tipo dinámico debe ser descendiente del tipo estático. El polimorfismo permite que un objeto de una sub-clase pueda ser considerado y referenciado como un objeto de la super-clase. Principio de sustitución. La dirección de correspondencia opuesta no se mantiene: todos los Medicos son Personas, pero no todas las Personas son Médicos. El polimorfismo afecta a: Asignaciones explícitas entre objetos. Paso de parámetros. Devolución del resultado en una función. Punto pt1 = new Particula(3, 5, 22); Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 26 / 31

27 Conceptos fundamentales de la POO Polimorfismo En contextos polimórficos, sólo es válido invocar a los métodos especificados por el tipo estático de la variable. Punto pt1 = new Particula(3, 5, 22); Punto pt2 = new Particula(4, 6, 30); double d = pt1.distancia(pt2); // double f = pt1.atraccion(pt2); // ERROR. No es posible Vinculación Dinámica La vinculación dinámica permite que las sub-clases puedan redefinir el comportamiento de los métodos definidos en la super-clase. En contextos polimórficos, los métodos invocados se seleccionan adecuadamente, en tiempo de ejecución, dependiendo del tipo dinámico del objeto, y no de su tipo estático. La invocación del método que ha de resolver un mensaje se retrasa al tiempo de ejecución, y depende del tipo dinámico del objeto. Se puede impedir que las sub-clases redefinan un determinado método especificando el calificador final en su definición. Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 27 / 31

28 Conceptos fundamentales de la POO Herencia, Polimorfismo y Vinculación Dinámica Gracias a la herencia, el polimorfismo, y la vinculación dinamica, se pueden construir estructuras con elementos dinámicos de distinta naturaleza, pero con un comportamiento común.... Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 28 / 31

29 Ejemplo: Clase Urna (I) // Urna.java public class Urna { public static enum Color { Blanca, Negra // Atributos private int n_blancas, n_negras; // Constructores public Urna() { n_blancas = 0; n_negras = 0; // Métodos public int totalbolas() { return n_blancas + n_negras; public boolean estavacia() { return (n_blancas + n_negras == 0); public void introducirbola(color c) { if (c == Color.Blanca) { ++n_blancas; else { ++n_negras; Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 29 / 31

30 Ejemplo: Clase Urna (II) // Urna.java (continuación) public Color sacarbola() { if (this.estavacia()) { throw new RuntimeException("Urna vacía"); int n = (int)(math.random() * this.totalbolas()); Color c; if (n < n_blancas) { c = Color.Blanca; --n_blancas; else { c = Color.Negra; --n_negras; return c; Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 30 / 31

31 Ejemplo: Clase Urna (III) // Main.java public class Main { public static void main(string[] args) { Urna urna = new Urna(); urna.introducirbola(urna.color.blanca); urna.introducirbola(urna.color.blanca); urna.introducirbola(urna.color.negra); System.out.println("NBolas: " + urna.totalbolas()); while (! urna.estavacia() ) { Urna.Color c = urna.sacarbola(); System.out.println("Bola: " + c); Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Tema Informática. 1. Introducción Universidad a la Programación de Málaga Orientada a Objetos Programación Orientada a Objetos 31 / 31

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Java Avanzado Facultad de Ingeniería. Escuela de computación. 2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas

Más detalles

Conceptos de Programación Orientada a Objetos

Conceptos de Programación Orientada a Objetos Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

1. Computadores y programación

1. Computadores y programación 1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la

Más detalles

La Herencia: Teoría (1)

La Herencia: Teoría (1) Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

Más detalles

Tema 7: Polimorfismo. Índice

Tema 7: Polimorfismo. Índice Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento

Más detalles

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y 1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje. Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz 168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo [email protected] Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación

Más detalles

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:

Más detalles

Modulo 11. Clases y Objetos en Java

Modulo 11. Clases y Objetos en Java El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.

Más detalles

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:

Las redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde: Redes Semánticas Redes semánticas La lógica como lenguaje de representación tiene dificultades prácticas Son necesarios mecanismos mas intuitivos y fáciles de usar La psicología cognitiva afirma: La representación

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos E.T.S.I. Telecomunicación Universidad de Málaga http://www.lcc.uma.es/ Contenido Introducción histórica Conceptos básicos de la Programación O. O. Conceptos avanzados de

Más detalles

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos Computación Avanzada Clase 3 Introducción a la Programación Orientada a Objetos (POO) Definición de Programación Orientada a Objetos Qué es la POO? Según Wikipedia: POO es un paradigma de programación

Más detalles

Capítulo 16. Diagrama de Clases UML

Capítulo 16. Diagrama de Clases UML Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando

Más detalles

CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)

CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) APRENDERAPROGRAMAR.COM CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero

Más detalles

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica.

Clases e instancias. Algoritmos y Estructuras de Datos I. Clases e instancias. memoria dinámica. Algoritmos Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEN - UBA Programación imperativa - clase 10 Memoria dinámica listas enlazadas Clases e instancias El paquete

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. 1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones

Más detalles

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) APRENDERAPROGRAMAR.COM QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

Más detalles

Las clases como tipos de datos definidos por el usuario

Las clases como tipos de datos definidos por el usuario . La clase Fraccional. Representación en UML de los niveles de acceso 3. Categorías de los objetos que aparecen en los métodos 4. El puntero this. Métodos operadores La clase Fraccional Vamos a diseñar

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO INTRODUCCION A LA PROGRAMACION Y COMPUTADORAS 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias

Más detalles

2.- PROGRAMACIÓN ORIENTADA A OBJETOS

2.- PROGRAMACIÓN ORIENTADA A OBJETOS 2.- PROGRAMACIÓN ORIENTADA A OBJETOS Lenguajes de Programación - Orientación a Objetos 1 El éxito de la Progr. Orientada a Objetos Permite una mejor organización del software: Es más fácil (??) desarrollar

Más detalles

Conceptos más avanzados de Programación Orientada a Objetos

Conceptos más avanzados de Programación Orientada a Objetos Conceptos más avanzados de Programación Orientada a Objetos Programación 2008 Licenciatura de Lingüística y Nuevas Tecnologías Repaso: API de Java API = Application Programming Interface Una API describe

Más detalles

15. Parámetros o argumentos

15. Parámetros o argumentos Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el

Más detalles

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08 Tema 2 Técnicas básicas de POO Técnicas de Programación - Curso 2007/08 Contenido Principios de POO Encapsulación Herencia Polimorfismo Ejemplos Técnicas básicas Delegación Uso de interfaces Interfaces

Más detalles

PROYECTO FIGURAS DIAGRAMA DE FLUJO

PROYECTO FIGURAS DIAGRAMA DE FLUJO FIGURAS JAVA ~ 1 ~ PROYECTO FIGURAS 1. Crear una clase Figura, abstracta 2. Añadirle los métodos vacíos a. CalcularPerimetro() public Devolver double b. Calcular() public Devolver double 3. Crear la clase

Más detalles

Clase adicional 2. Estructuras básicas de control. Temas

Clase adicional 2. Estructuras básicas de control. Temas Clase adicional 2 Temas Estructuras de control Sentencia condicional Iteración Clases Definir una clase Crear una instancia de una clase Campos estáticos Problemas de la clase adicional Problema de diseño

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo) . Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos

Más detalles

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO: UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

Más detalles

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Soluciones Ejercicios Tema 3

Soluciones Ejercicios Tema 3 1 Soluciones Ejercicios Tema 3 Germán Moltó [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Solución Ejercicio

Más detalles

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Descripción y Contenido del Curso. Programación C++ Capacity Academy. Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Encapsulamiento: Control de Acceso Clases en Java (1) UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO En Java se organizan las clases en paquetes

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

Capítulos 2 y 5: Modelación con UML y Modelo Objeto

Capítulos 2 y 5: Modelación con UML y Modelo Objeto Capítulos 2 y 5: Modelación con UML y Modelo Objeto Agenda Recordar: Modelo de Sistema: modelo objeto + modelo funcional + modelo dinámico Ultima Clase: Modelo Objeto Definir el concepto de Modelo de Clases

Más detalles

Java en 2 horas. Rodrigo Santamaría

Java en 2 horas. Rodrigo Santamaría + Java en 2 horas Rodrigo Santamaría + Generalidades 2 Desarrollado por Sun en 1995 Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas a bytecode Gestión

Más detalles

Clases Abstractas e Interfaces

Clases Abstractas e Interfaces Clases Abstractas e Interfaces Presentación basada en: 1. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003. 2. Apuntes del Curso Programación Orientado a Objetos. Pablo Castells.

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

Diagramas de secuencia

Diagramas de secuencia Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Interacciones básicas 1 Para qué sirven los diagramas de secuencia? 2 Para qué sirven los diagramas de

Más detalles

Lenguajes de Programación. Juan Zamora O. Semestre II Nombres, Ambitos y Ligados

Lenguajes de Programación. Juan Zamora O. Semestre II Nombres, Ambitos y Ligados Lenguajes de Programación Nombres, Ambitos y Ligados Juan Zamora O. Semestre II - 2013 Nombres, Ambitos y Ligados Aspectos semánticos fundamentales de las variables. Conceptos a revisar: Abstracción Nombres

Más detalles

Taller de Programación I. Tema 06: Orientación al Objeto en Java (parte 2)

Taller de Programación I. Tema 06: Orientación al Objeto en Java (parte 2) INACAP Universidad Tecnológica de Chile Sede Santiago Centro Taller de Programación I Curso Java J2SE Tema 06: Orientación al Objeto en Java (parte 2) Ing. Manuel López Ramos (versión 1) Parte I Trabajo

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Tema 7. El sistema de clases

Tema 7. El sistema de clases Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 7. El sistema de clases 7.1 Funciones Sobrecargadas Clases e Instancias 7.2 Algunas Clases

Más detalles

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos Metodologías en la Ingeniería del Software Métodos Orientados a Objetos García Departamento de Ciencias de la Computación Universidad de Alcalá Contenidos Historia Orientación a Objetos (OO) Problemas

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

Más detalles

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel

Más detalles

JAVA 7 Los fundamentos del lenguaje Java

JAVA 7 Los fundamentos del lenguaje Java Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);

Más detalles

Procesadores de lenguaje Tema 6 La tabla de símbolos

Procesadores de lenguaje Tema 6 La tabla de símbolos Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de

Más detalles

Tema 4. Excepciones en Java

Tema 4. Excepciones en Java Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer

Más detalles

El lenguaje de programación Java

El lenguaje de programación Java Departament d Arquitectura de Computadors El lenguaje de programación Java Java (I) Orientado a objetos Ejecutado por una maquina virtual Independiente de la plataforma Multithreaded Orientado a la red

Más detalles

Principios de Programación en Java

Principios de Programación en Java Programa: Curso - Taller Principios de Programación en Java Fechas: 20, 21, 22, 23 y 24 de junio, 2016 de 16:00 a 19:00 hrs Lugar: Preparatoria Vespertina No 1. Centro de Cómputo Instructor del Curso:

Más detalles

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión Universidad Autónoma de Tlaxcala Introducción al lenguaje JAVA Primera Sesión 1. Introducción a la programación orientada a objeto 2. Introducción al lenguaje Java 3. Primer programa en Java 4. Primer

Más detalles

PROGRAMA INSTRUCCIONAL

PROGRAMA INSTRUCCIONAL UNIVERSIDAD FERMÍN TORO VICE RECTORADO ACADÉMICO FACULTAD DE INGENIERÍA PROGRAMA INSTRUCCIONAL DATOS BÁSICOS DE LA ASIGNATURA Nombre de la asignatura: Código Semestre U.C. Pre- Requisito COMPUTACIÓN PARA

Más detalles

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes 4. DIAGRAMAS DE INTERACCIÓN...37 4.1. INTRODUCCIÓN... 37 4.2. DIAGRAMAS DE SECUENCIA... 37 4.2.1. Objetos...37 4.2.2. Mensajes...38 4.2.3. Creación y destrucción de un objeto...39 4.3. DIAGRAMAS DE COLABORACIÓN...

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, [email protected] Estructuras de datos y de la

Más detalles

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase

Más detalles

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I

PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6

Más detalles

Tema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014

Tema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014 Tema 4 Genericidad en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Antecedentes. Genericidad en Java 5 y posterior. Características avanzadas: Genericidad restringida. Tipo puro. Limitaciones

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java Curso 2006-2007 Tema 3 Clases y Objetos Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Clases y

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

PROGRAMACIÓN UNIDADES

PROGRAMACIÓN UNIDADES PROGRAMACIÓN Semestre: Segundo Horas: 90 horas Hrs/sem: 4.5 Créditos: 9 Clave: AI-02 DESCRIPCIÓN DE LA ASIGNATURA Al finalizar el curso el alumno tendrá el conocimiento y la capacidad de implementar programas

Más detalles

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación 1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización Programación orientada a objetos Resumen de Temas Unidad 6: Polimorfismo y reutilización 6.1 Concepto de Polimorfismo Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

Más detalles

Programación Orientada a Objetos (POO)

Programación Orientada a Objetos (POO) Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en

Más detalles

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas Herramientas de Programación M.C. Juan Carlos Olivares Rojas Febrero 2011 Temario Simbología Reglas para la construcción de Diagramas Pseudocódigo Temario Tipos de Datos y Expresiones Estructuras lógicas

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas [email protected] Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Tema 3: Programación orientada a objetos (I)

Tema 3: Programación orientada a objetos (I) Tema 3: Programación orientada a objetos (I) Ventajas del enfoque orientado a objetos Clases y Objetos Métodos y Mensajes Algoritmos y Sentencias Construcción de software orientado a objetos Búsqueda de

Más detalles

Java para programadores

Java para programadores Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Variables. Tipos

Más detalles

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría Java en 3 horas Ampliación de Sistemas Operativos Rodrigo Santamaría Generalidades Desarrollado por Sun Hereda mucha de la sintaxis de C (1972) Fuertemente tipado y orientado a objetos Aplicaciones compiladas

Más detalles