Herencia y búsqueda de métodos en Smalltalk
|
|
- María Elena Figueroa Carrasco
- hace 6 años
- Vistas:
Transcripción
1 Herencia y búsqueda de métodos en Smalltalk Animal Pajaro Mamifero Loro Pinguino Perro Ballena Ballena new decialgo Ballena new decialgo Mamifero new decialgo New crea una nueva ballena. Smalltalk responde no tengo nada para decir Buscamos el método decialgo en Ballena Buscamos el método decialgo en Mamífero Buscamos el método decialgo en Animal. Ahí está la implementación Ahora queremos que las ballenas hablen apropiadamente, sobrescribimos decialgo en Ballena Reponde Libérenme!! Responde No tengo nada para decir decialgo devuelve por defecto la instancia del objeto receptor. Modifiquemos decialgo para que además de mostrar por el Transcript lo que dice el mamífero, también devuelva el String. Búsqueda de métodos: Smalltalk ejecuta el primer método con el selector correspondiente que encuentra en la jerarquía, empezando desde la clase a la cual pertenece el objeto. Inicializacion de instancias Ejemplos: Time, Date y Point metodos new y new: t := Time new. t hours t hours: 13 minutes: 10 seconds:55. t shortprintstring. Time now shortprintstring. Como habíamos visto el new es un selector de clase, que crea objetos de esa clase. Por ejemplo el new de Time crea un time vacío. Devuelve nil, porque no lo instancié con ninguna hora en particular. '1:10:55 pm' Si queremos el Time actual Lo mismo ocurre con Date Ejercicio: Agregar una clase Humano que diga Mi nombre es (super) Hacer que Humano diga lo que dicen los animales, mas Mi nombre es...
2 super altera el orden en que se búscan los métodos, comenzando a buscar por la superclase en donde está definido el método que contiene super. KindOf y MemberOf: Predecir el resultado iglu de mijo class String Pinguino new class superclass Pajaro Pinguino superclass superclass Animal String allinstances size 4629 p := Pinguino new. p iskindof: Animal p ismemberof: Animal false p ismemberof: Pinguino equivalente a: p class == Pinguino p respondsto: #decialgo p respondsto: #vola false Pinguino allinstances size 1 iskindof: dice si un objeto es instancia de la clase o alguna subclase ismemberof: dice si el objeto es exactamente de esa clase Bloques: Los bloques representan secuencias de instrucciones cuya ejecución es diferida, es decir, el código que representan podría no ser ejecutado nunca. Es por esto que se utilizan para controlar el flujo de ejecución de los programas Los bloques también son objetos (pertenecen a la clase BlockClosure) Se notan escribiendo el código que los componen entre []. Los bloques pueden ser asignados a variables, pasados como parámetros o devueltos como resultado El mensaje value pide a un bloque que se evalúe. Como en los métodos, un bloque puede contener una cantidad arbitraria de parámetros. Los bloques pueden declarar variables temporales. El valor que devuelve un método, es el valor que devuelve la última sentencia. Los bloques pueden tener sentencias del tipo ^, y en ese caso el método que contiene el bloque devuelve el valor. Puede hacer referencias a variables externas al bloque. bloque := [ 1 / 0]. bloque class bloque value bloque := [ :i :j i+j ]. bloque value:1 value:3. bloque := [ :i :j i+j. chocotorta. ]. bloque value:1 value:3 Sólo se compiló el bloque y se asignó a una variable, no se ejecutó. Recién ahora lo evaluamos. Pueden recibir parámetros tantos parámetros como queramos Y los evaluamos de esta forma El valor que devuelve es el de la última sentencia.
3 IF: Métodos de Boolean: o iftrue: o iftrue: iffalse: o iffalse: AND y OR tambien son métodos de Boolean: o and: o or: FOR: Métodos de Number o to:do: (recibe un bloque con un parámetro numérico) o to:by:do: Métodos de Integer o timesrepeat: (recibe un bloque sin parámetros) 1 to: 10 do: [:i Transcript show: i printstring; cr.] 1 to: 10 by:2 do: [:i Transcript show: i printstring; cr.] 3 timesrepeat: [Transcript show: bomba ; cr.] WHILE: Métodos de BlockClosure (bloques) o whiletrue o whiletrue: (recibe un bloque sin parámetros) o whilefalse o whilefalse: (recibe un bloque sin parámetros) o repeat (evalua el bloque receptor para siempre) La idea es que evalúa el receptor en cada iteración. Si fuera un miembro de Boolean, entonces el objeto sería inmutable y no podría cambiar de valor (como i>0). Sería instancia de True o instancia de False, con lo que iteraría infinitamente o no iteraría. True y False tienen una única instancia cada uno. Transcript clear. i:=2. [i>0] whiletrue: [ Transcript show: i printstring; cr. i := i - 1.]. Colecciones Clases Colecciones Las clases son moldes o factories de objetos pero no colecciones. Todos los objetos se construyen a partir de alguna clase Ejemplo: si la clase Onion fuera una colección de cebollas, entonces habría problemas a la hora de tratar de diferenciar las cebollas que están en el estante de la verduleria y las que están en el carrito del supermercado. Nos veriamos tentados de crear nuevas clases ShelfOnion, CartOnion, etc. Lo que en realidad tenemos son diferentes contenedores para nuestras cebollas.
4 Colecciones básicas Las colecciones de Smalltalk son heterogéneas. arreglo := #(1 2 3). diccionario := Dictionary new. diccionario at: 'pancho' put: 'mostaza'. diccionario at: 1@50000 put: 'chimi'. diccionario at: 'pancho'. Ejemplos de arreglo, diccionario e intervalo. Notar que las colecciones son heterogéneas. intervalo := 1 to: 3. coleccionordenada := OrderedCollection new. coleccionordenada add: (Time now). Enumeracion de elementos do: ablock select: ablock reject: ablock collect: ablock detect: ablock inject: thisvalue into: binaryblock Recibe un bloque con un parámetro y evalúa el argumento ablock para cada uno de los elementos del receptor bloque con un parámetro, evalua en booleano evalua el argumento ablock para cada uno de los elementos del receptor genera una nueva coleccion del mismo tipo que el receptor con únicamente los elementos para los cuales ablock evalua en bloque con un parámetro, evalua en booleano evalua el argumento ablock para cada uno de los elementos del receptor genera una nueva coleccion del mismo tipo que el receptor con únicamente los elementos para los cuales ablock evalua en false bloque con un parámetro, evalua en cualquier cosa evalua el argumento ablock para cada uno de los elementos del receptor genera una nueva coleccion del mismo tipo que el receptor, y para cada elemento del receptor agrega el resultado de aplicarle ablock bloque con un parámetro, evalua en booleano evalua el argumento ablock para cada uno de los elementos del receptor y devuelve el primer elemento para el cual ablock evaluó en. Si ninguno da, error bloque con dos parámetros, evalua en lo mismo que el primer parámetro el primer parámetro del bloque es el resultado de la evaluacion anterior, empezando por thisvalue. el segundo parámetro es cada uno de los
5 elementos del receptor devuelve el resultado de la última evaluacion Ejemplos: #( ) do: [ :i Transcript show: 'la']. #( ) select: [ :i i even.]. #( ) reject: [ :i i even.]. #( ) collect: [:i i+1.]. #( ) detect: [ :i (i > 1) and: [i even].] #( ) inject: '' into: [ :i :j i, j printstring]. Motivacion: Anomalias en colecciones conjunto := Set new. p := Pinguino new. conjunto add: p. p2 := Pinguino new. conjunto add: p2. p = p2. p == p2. Se agregan: = ananimal ^(self nombre) = (ananimal nombre) y hash ^(self nombre) hash A la clase Animal. Ahora tengo dos elementos en el conjunto, por más que sean dos pinguinos observacionalmente iguales. El problema es que no son idénticos, y la implementación default de la igualdad es la identidad. Para lograr el efecto de que dos animales se diferencien, por ejemplo, únicamente por su nombre, necesitamos sobreescribir el método hash de la clase y hacer que el hash dé igual para los objetos que queremos que sean iguales. Identidad e igualdad Equivalencia (==): testea si dos objetos son el mismo objeto (es decir, la misma instancia) Igualdad (=): testea si dos objetos representan el mismo componente La igualdad debe ser reimplementada por cada clase de forma apropiada La implementación default de = es == Caso especial: nil == equivalencia = igualdad ~= no igualdad ~~ no equivalencia isnil notnil testea si el receptor es nil testea si el receptor no es nil == nil ~~ nil Nota: Solo existe un único objeto 3 en Smalltalk
6 Hash hash devuelve un entero. Dos objetos iguales deben devolver el mismo valor. Dos objetos distintos podrían devolver el mismo valor o no. Cada vez que se redefine =, hay que redefinir hash de forma acorde Clases abstractas Una clase abstracta es aquella que nunca tendrá instancias Se usan para reunir comportamiento y expectativas comunes a todas las subclases Ejemplos: Magnitude y Animal Métodos abstractos: o En Smalltalk: subclassresponsibility o implementedbysubclass o En C++: pure virtual o En Java: abstract Sirven para explicitar las expectativas sobre las subclases Una clase que tiene métodos abstractos es necesariamente abstracta Muchas veces, las clases abstractas también tienen comportamiento concreto (ejemplo Magnitude>>max:) Los métodos de una clase abstracta pueden ser de 3 tipos: o abstractos: no están implementados y deben ser implementados por las subclases Magnitude>> > o base: están implementados y son autocontenidos. No generan ninguna obligación a las subclases Animal >> getnombre o template: están implementados pero usan métodos abstractos, con lo cual el implementador de la subclase debe completar el comportamiento pero sin sobreescribir el método completo Magnitude>>max: Polimorfismo y late-binding Late-binding: un mensaje y el método que debe ejecutarse se asocian en tiempo de ejecución polimorfismo: multiples formas, es decir, un mensaje puede generar comportamiento distinto según el objeto polimorfismo semántico Ejemplo: iftrue:iffalse:
variable objeto Clase práctica Objetos I Objetos en Smalltalk Objetos elementales Variables y asignación miconjunto Datos
Clase práctica Objetos I Paradigma de Objetos: Objetos que colaboran entre sí enviándose mensajes Objetos en Smalltalk Un objeto expone un protocolo de mensajes, que conforma el conjunto de operaciones
Smalltalk. Smalltalk es un lenguaje orientado a objetos puro: todas las entidades manipuladas son objetos.
Smalltalk Smalltalk es un lenguaje orientado a objetos puro: todas las entidades manipuladas son objetos. Ej. la expresión 2 + 4 es el resultado de enviar el mensaje + con argumento 4 al objeto 2. Smalltalk
PHP: Lenguaje de programación
Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054
EL LENGUAJE SMALLTALK
PROGRAMACIÓN ORIENTADA A OBJETOS EL LENGUAJE SMALLTALK GIPSI TEMAS: Introducción a Smalltalk Smalltalk: Conceptos básicos Clase Instancia Mensaje Herencia Sintaxis del lenguaje Expresiones Literales tipos
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
Derechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
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
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
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
JAVA -INTRODUCCIÓN AL LENGUAJE
JAVA -INTRODUCCIÓN AL LENGUAJE Temario 1 -Introducción al lenguaje Java 2 - Introducción a Eclipse 3 - Clases e Inicialización 4 Colecciones 5 - Creando nuestras clases de Java 6- Clases, Métodos y Variables
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
Programación Orientada a Objetos
Programación Orientada a Objetos Sentencias Java Parte II Ing. Julio Ernesto Carreño Vargas MsC. while y do while Sentencia while Ciclo mientras que Repite una acción mientras su condición de ciclo se
Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL
Ciclos Fundamentos de Programación Recordando Estructuras de Control Básicas: Una secuencia es una serie de estatutos que se ejecutan uno después de otro. Selección (condición) ejecuta diferentes estatutos
Manejo de Bases de Datos Mysql en Lenguaje C
http://undersecurity.net Servidor irc : irc.ircnode.com Canal irc : #undersec Manejo de Bases de Datos Mysql en Lenguaje C By: S[e]C Entendiendo el tratamiento de una base de datos MySQL. Antes de ir al
Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Tema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
ESTRUCTURAS REPETITIVAS EN PHP
ESTRUCTURAS REPETITIVAS EN PHP Los bucles nos permiten iterar conjuntos de instrucciones, es decir repetir la ejecución de un conjunto de instrucciones mientras se cumpla una condición. Sentencia while
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
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
Manual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra l.guerra@upm.es Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
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
Parte 4: Estructuras de Control
Parte 4: Estructuras de Control Las estructuras de control le permiten controlar el flujo de ejecución del programa. Tenemos dos tipos de estructuras de control: Estructuras de decisión Estructuras de
FUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 2 Expresiones, operadores y estructuras de control Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo Fundamentos de Informática. Departamento de Ingeniería
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
Apunte JAVA + SVN. Emi Höss
Apunte JAVA + SVN Emi Höss Instalando Eclipse y Java VM Eclipse es la IDE que utilizaremos para programar los TP s de la materia. Puede descargarse de la siguiente página: https://www.eclipse.org/downloads/index.php
fundamentos de programación (unidad 4) programación estructurada en Java
fundamentos de programación (unidad 4) programación estructurada en Java Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es
Elabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:
NOMBRE DE LA Ejercicios aplicando polimorfismo OBJETIVO: El estudiante elaborará diagramas de clases en UML que apliquen relaciones de herencia y polimorfismo MATERIAL Y EQUIPO NECESARIO: Se recomienda
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
Lenguaje de programación con JAVA
Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:
Estructuras de Control
Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas
Tema 7.- Fundamentos de la Programación Orientada a Objetos
Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).
PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype
PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases
Colecciones en Smalltalk 1
Universidad Nacional de Quilmes Objetos 1 Colecciones en Smalltalk 1 Introducción Imaginemos querer modelar una agenda para una semana. Creamos nuestra clase Semana y, como sabemos que los días de la semana
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Introducción a Protégé
FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 2ª Parte Introducción a Protégé Febrero 2003 1 1. Objetivo La presente
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
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
Curso de Java Introducción a la Programación III
Curso de Java Introducción a la Programación III Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Operadores relacionales e igualdad 2 Estructuras de control condicional
Diagramas de secuencia
Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Fragmentos Combinados: caminos alternativos Departamento de Ingeniería de Sistemas y Computación - Universidad
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
TEMA 4. ESTRUCTURAS DE CONTROL
M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.
REFERENCIA DEL LENGUAJE
REFERENCIA DEL LENGUAJE Sesión 07 Mg. Cadenas de caracteres Una cadena de caracteres es un arreglo de caracteres. Los caracteres son letras, números y signos de puntuación. Cuando un número se usa como
Diseño Basado en Componentes. Curso 2008 / 09
Beneficios de OOP Diseño Basado en Componentes Ingeniería Informática Universidad Carlos III de Madrid Programación Orientada a Objetos (OOP) en VB.NET Diseño Basado en Componentes. Curso Conceptos orientados
Tema 3.- Predicados y sentencias condicionales
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Herencia. Hay clases que comparten gran parte de sus características.
Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de
5. Sentencias selectivas o condicionales
60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado
GUÍA BÁSICA DE SCHEME v.4
Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los
Overview GeneXus - Demo: 2.Cómo obtener el ejecutable de la KB y declaración de algunas reglas del negocio.
Overview GeneXus - Demo: 2.Cómo obtener el ejecutable de la KB y declaración de algunas reglas del negocio. En la primera parte de esta demo creamos nuestra base de conocimiento y la transacción de facturas
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 cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases
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
Estatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
UNIVERSIDAD NACIONAL DE INGENIERÍA CENTRO DE EXTENSIÓN Y PROYECCIÓN SOCIAL
UNIVERSIDAD NACIONAL DE INGENIERÍA CURSO DE JAVA CERTIFICA ORGANIZA Mayor Información: informes@uni.edu.pe Telf. : 481-6693 /381-3854 Visite Nuestra Web http://www.ceps.uni.edu..pe OBJETIVOS GENERALES
WorkManager E.D. Manual guía de usuario Diseñador de formularios
WorkManager E.D. Manual guía de usuario Diseñador de formularios En esta sección se crean y diseñan formularios. Para ingresar, clic en el menú Configuración/ Diseñador de formularios. Lista de formularios
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
Elementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
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
INSTRUMENTACIÓN N AVANZADA. ARRAYS EN LABVIEW Relacionando Datos Arrays y Clusters
ARRAYS EN LABVIEW Relacionando Datos Arrays y Clusters Objetivos 1. Event Structure 2. Arrays 3. Funciones 4. Ejercicios 5. Cluster 6. Simulación de adquisición de señales de tensión 7. Adquisicion de
Introducción a la Programación en MATLAB
Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos
Base de datos relacional. Diccionario ABAP. Modelo Base de datos. Mundo real
El modelado de datos permite construir un esquema a partir del mundo real y llevarlo a una base de datos, este proceso se lleva a cabo mediante diferentes técnicas, en principio fue utilizado el modelo
FACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /
undamentos de sintaxis en algunas instrucciones de C#.Net Dr. Ramón Roque Hernández Identificadores Un identificador le da nombre único a un elemento en un programa (ariables, procedimientos, etc.). No
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto Representa una instancia de un elemento del mundo del problema Es cualquier elemento
Instrucciones de control
Instrucciones de control Instrucciones de control de flujo C# ofrece un conjunto de sentencias similar al de C, C++ o Java. A continuación se estudian muy brevemente cada una de ellas. if if se utiliza
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) montenegro@fdi.ucm.es Contenidos Variables. Tipos
Seguridad. Mecanismos de protección Canales encubiertos Seguridad multinivel
Seguridad Mecanismos de protección Canales encubiertos Seguridad multinivel Mecanismos de protección Un dominio de protección es un conjunto de pares (objetos, permisos) que especifica para cada objeto
Estructuras de control
Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando
INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
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...
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
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
Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs)
Universidad de Valladolid Departamento de informática Campus de Segovia Estructura de datos Tema 2: Tipos Abstractos de Datos (TADs) Prof. Montserrat Serrano Montero ÍNDICE Tipos de datos El tipo abstracto
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
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA
DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en
Introducción a la Programación en Visual Basic y su aplicación en Excel. M.I. Jaime Alfonso Reyes Cortés
Introducción a la Programación en Visual Basic y su aplicación en Excel. M.I. Jaime Alfonso Reyes Cortés TEMA 3 CREACIÓN DE MACROS Y FUNCIONES EN EXCEL. Programación Orientada a Objetos y Programación
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:
Elementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
C.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª
INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,
Estructuras de Control. Secuencia y Selección
Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 InCo - FING Estructuras de Control. Secuencia y Selección Programación 1 1 / 35 Estructuras de control InCo - FING Estructuras de
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.
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
FUNDAMENTOS DE PROGRAMACIÓN Curso: 2013/14 EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE. EJERCICIO 1 Cuestiones (1 punto)
EXAMEN PARA ALUMNOS PRESENTADOS AL PRIMER PARCIAL PRIMERA PARTE EJERCICIO 1 Cuestiones (1 punto) 1 2 3 4 5 6 7 8 9 10 Seleccione la opción correcta en cada caso, teniendo en cuenta que tan sólo puede marcar
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...
Grandes volúmenes de datos Particionamiento. bases de datos
Grandes volúmenes de datos Particionamiento bases de datos Particionamiento. Introducción Problemas con tablas con gran volumen de registros: Tiempo de respuesta en las consultas Problemas de almacenamiento
Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]
Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Estructura
Universidad Salesiana de Bolivia
Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian
b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su
Universidad de La Laguna. Escuela Técnica Superior de Ingeniería Informática Tercero del Grado de Informática LENGUAJES Y PARADIGMAS DE PROGRAMACION. SEGUNDA PARTE 5 páginas Nombre: Alu: 1. Cuál es la
Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur.
Historia de Java 1991 Comienza el proyecto Green. 1992 Se presenta el lenguaje Oak. Java, 10 años - JavaOne Conference 26 al 30 de junio de 2005 1995 Nace oficialmente la tecnología Java. Cambia el nombre
Conversión entre Tipos
Conversión entre Tipos La conversión entre tipos permite comparar y copiar valores entre diferentes tipos. En esta lección describiremos como convertir un tipo dado en otro. Conversión en VB y Existen
PROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE
L11 CONSTRUCTORES DEL LENGUAJE CLASES class { } PLANTILLAS template { } ESPACIOS DE NOMBRES namespace { } EXCEPCIONES try catch.. SOBRECARGA DE OPERADORES operator (parametros) BIBLIOTECA
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones
FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)
APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha
LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)
APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.
Para aportes y sugerencias puede escribir al correo del autor: thenewinquirer01@gmail.com Los nombres y marcas comerciales mencionados en este manual son propiedad de sus respectivos autores o fabricantes.
Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012
Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias
1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Estructuras en LabVIEW.
Estructuras en LabVIEW. Sumario: 1. Ejecución según el flujo de datos. 2. Estructuras básicas disponibles en LabVIEW. a) Estructura Sequence. b) Estructura Case. c) Estructura For Loop. d) Estructura While