Guía general interface Inter {m1, m2,... mn}

Slides:



Advertisements
Presentaciones similares
2.4 Construcción de un TAD a partir de otro.
Advertisements

Programación II Colas Igor Santos Grueiro.
class Circulo extends Circunferencia Circunferencia perimetro Circunferenciaradio Circulo area Circulo.
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
CONDICIONES INICIALES t
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
7. Interfaces Herencia múltiple Interfaces Comparable y Comparator
Detalles Generales sobre Java
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Listas. Utilización de un TAD Lista. Interfaz del TAD LISTA public interface Lista { void crearNodo (); /*Crea un nuevo nodo en el TadLista*/ int devolverClave.
FORMULAS DE INTERES COMPUESTO
FORMULAS DE INTERES SIMPLE
Unidad 6 Polimorfismo.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Criterios de ordenación y Guava Comparator, Comparable y Ordering Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Ingeniería del Software II Implementación metódica.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
2015-BM5A. ¿Qué estructuras de Programación conocemos? Condicional: If … { } … Else …{ } Condicional por Casos: Switch (opcion) { } Repetitiva exacta:
Introducción a la Programación Multimedial
Ingeniería Directa. Generar código a través de modelos se le conoce como ingeniería directa.
Programación Avanzada
APLICACIONES DE LAS FUNCIONES
Tema 4: Ingeniería del Software
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
EL MUNDO DE LOS OBJETOS PROGRAMANDO EN JAVA.
Programación orientada a objetos
Métodos y parámetros.
Stored Procedures Firebird.
Algunas Características de C++ no presentes en C
Métodos en Java.
Federico Rodriguez Bravo Ing. Jaime A. Pavlich-Mariscal Ph.D
Algunas Características de C++ no presentes en C
Estructuras de Datos Recursividad.
Paul Leger Procesos Paul Leger
Introducción a los algoritmos
Guía teórica de manejo de estructuras de datos
Encuesta de satisfacción del Estudiantes 2014
Algunas Características de C++ no presentes en C
Olimpiada Morelense de Robótica e informática nivel bachillerato
Programación Orientada a Objetos
HERENCIA.
FACTORY METHOD Creación a nivel de clases.
Tarjeta Madre USB Ranuras PCI Chip set Ranura AGP Procesador
Partes internas de la computadora
ESMERALDA LIMÓN ESCUTIA AURORA MENDOZA PASTRANA RUTH LÓPEZ muñoz I.S.C
EVALUACÓN DE FUNCIONES EXPONENCIALES
Tito Lazarro S.L.L ASENOV ASENOV Toni BOHARI ECHUACA Wualter
 Toma de Decisiones MÉTODOS CUANTITATIVOS PARA LA TOMA DE DECISIONES.
MATEMATICA FINANCIERA
Introducción a los algoritmos
Redacción Día 8 / Ensayo #2 Mapa Semántico / Esquema Detallado
21:14 h. “Puedes capturar la belleza de las cosas simplemente con pararte y mirar"  E. de la Puente.
INTRODUCCION Hasta ahora solo hemos tenido que trabajar con algunas variables en cada uno de los programas que hemos realizado. Sin embargo, en más de.
Cosas cotidianas: buenos diseños y malos diseños
Servlets Servlets Son modulos que extienden las funcionalidades de un servidor “java-enabled” Normalmente generan código HTML dinámicamente, el cual se.
MC Beatriz Beltrán Martínez Verano 2018
Informática Ingeniería en Electrónica y Automática Industrial
CC 1002: Introducción a la Programación Clase 19
Didáctica de la Competencia Comunicativa en Lengua Materna
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
Plan Operativo Proceso de Encasillamiento
Constructores y Sobrecarga Ing. Rafael Alfredo Zelaya Amaya.
Objetos con linea de ejecucion propia
UNIDAD VII FUNCIONES (SUBPROCESOS)
PROCEDIMIENTO RESULTADO.
Clases abstractas e interfaces
Transcripción de la presentación:

Guía general interface Inter {m1, m2,... mn} class InterSem extends Inter { //El estado necesario para guardar los valores en el preestado ... Inter obj; //El objeto decorado con contrato semántico int nestingLevel; //Semántica transaccional InterSem(Inter obj) { this.obj = obj; nestingLevel = 0; init(); // Condiciones iniciales }

Guía general ... mi (params) { // El método decorador if (nestingLevel == 0) pre$mi (params) //Evaluar y guardar el preestado del método mi nestingLevel++; obj.mi (params); nestingLevel--; if (nestingLevel == 0) { post$mi (params); inter$inv(params); } Si el método devuelve un valor tendríamos que capturarlo en la llamada al método decorado “obj.mi (params);” y devolverlo al final: mi$output = obj.mi (params);” Si es necesario hacer uso de ese resultado para evaluar la postcondición tendríamos que pasar como parámetro ese valor a la poscondición: post$mi (params, mi$output);

Guía general post$mi(params) { ... pre$mi(params) { //Evaluar la pre del método mi } post$mi(params) { //Evaluar la post del método mi Para cada método de la interfaz

Guía general ... inter$inv() { //el código para implementar la invariante } inter$init() { //el código para implementar las condiciones iniciales