Download Microsoft PowerPoint - isis485-032--Implementaci
Document related concepts
no text concepts found
Transcript
Principios de Programación Orientada por Objetos Departamento de Sistemas y Computación Facultad de Ingeniería Universidad de los Andes Material Elaborado por: Angela C. Carrillo R. Rubby Casallas 1 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (1) • Diseñar una clase que modele una cuenta bancaria. Una cuenta tiene un número, nombre del cliente, clave, saldo y un estado (activa, bloqueada, inactiva entre otros). A una cuenta se le puede consultar su saldo, consignar, retirar, transferir, bloquear, desbloquear y cambiar clave. Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 2 1 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (2) 1 Identificar los elementos del mundo que participan en el problema: CuentaBancaria Rubby Casallas G. Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 3 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (3) 2 Identificar las relaciones entre las clases Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 4 2 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (4) 3 Identificar los atributos de las clases: CuentaBancaria numeroCuenta nombreTitular clave saldo estado Rubby Casallas G. Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 5 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (5) 3 Identificar los atributos de las clases: CuentaBancaria estado: activa, bloqueada, inactiva numeroCuenta nombreTitular clave saldo estado Rubby Casallas G. Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 6 3 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (6) 4 Identificar los métodos de cada clase : – Qué información debe manejar? • • • • • El número de cuenta El nombre del titular La clave El saldo El estado Rubby Casallas G.- Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 7 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (7) – Qué operaciones debe poder realizar? • • • • • • • Consultar saldo Consignar Retirar Transferir Bloquearse Desbloquearse Cambiar su clave Rubby Casallas G.- Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 8 4 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (8) 4 Identificar los métodos de cada clase : CuentaBancaria estado: activa, bloqueada, inactiva numeroCuenta nombreTitular clave saldo estado darNumeroCuenta darTitular darClave darSaldo darEstado cambiarClave cambiarSaldo cambiarEstado consignar retirar Rubby Casallas G. - Angela Carrillo R. transferir .Departamento de Ingeniería de Sistemas y Computación 9 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (9) 4 Identificar los métodos de cada clase : CuentaBancaria numeroCuenta: integer nombreTitular: cadena clave: cadena saldo: flotante estado: cadena estado: activa, bloqueada, inactiva Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia darNumeroCuenta():integer darTitular(): cadena darClave():cadena darSaldo():flotante darEstado():cadena cambiarClave(cadena nuevaClave) cambiarSaldo(flotante nuevoSaldo) cambiarEstado(cadena nuevoEstado) consignar(flotante consignacion) retirar(flotante retiro) transferir(flotante monto, CuentaBancaria d) 10 5 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (10) 5 Registrar la información del diseño del Modelo CuentaBancaria Modela Cuentas Bancarias, compuestas por un número, nombre del titular, clave, saldo y estado numeroCuenta saldo Representa el número de la Cuenta Bancaria, es un entero Representa el saldo de la Cuenta Bancaria, es un flotante ... Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 11 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (11) 5 Registrar la información del diseño del Modelo Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 12 6 Principios de Programación Orientada por Objetos Ejemplo Diseño Cuenta Bancaria (12) 5 Registrar la información del diseño del Modelo darNumeroCuenta devuelve el número de la Cuenta Bancaria darTitular devuelve el titular de la Cuenta Bancaria cambiarSaldo coloca como saldo, nuevoSaldo cambiarEstado coloca como estado, nuevoEstado consignar suma al saldo de la Cuenta Bancaria, consignación retirar resta al saldo de la Cuenta Bancaria, retiro Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 13 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (1) • Para implementar una clase en JAVA se necesita un archivo – <clase>.java: contiene la descripción de la clase y la implementación (el código) de los métodos de la clase Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 14 7 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (2) • El archivo .java class <NombreClase> Aquí se declaran los { <atributos> atributos de la clase <métodos> } Aquí se declaran los métodos de la clase • Clase Cuenta Bancaria class Cuenta Bancaria { int numeroCuenta; String nombreTitular; String clave; float saldo; String estado; metodo1 metodo2 } Rubby Casallas G. - Angela Carrillo .Departamento de Ingeniería de Sistemas y Computación 15 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (3) class <NombreClase> { /*-----------------------------------------------------------------------*Atributos de la clase *----------------------------------------------------------------------*/ //-----------------METODOS -------- -------------------------------------- //-----------------METODOS CONSTRUCTORES--------------------------------//-----------------METODOS MODIFICADORES--------------------------------//-----------------METODOS ANALIZADORES---------------------------------} Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 16 8 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (4) • Declaración de atributos class <NombreClase> { Tipo del atributo : int, double, float, bool, String Nombre del atributo Descripción breve de qué representa /*---------------------------------------------------------------------*Atributos de la clase *--------------------------------------------------------------------*/ tipo atributo_1; // descripción del atributo tipo atributo_2; // descripción del atributo ... tipo atributo_n; // descripción del atributo. } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 17 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (5) • Cuenta Bancaria-Declaración de atributos class CuentaBancaria { /*----------------------------------------------------*Atributos de la clase *---------------------------------------------------*/ private int numeroCuenta; // Número de la Cuenta Bancaria private String nombreTitular; // Nombre del Titular de la Cuenta // Bancaria, diferente de vacía // private String clave; // Clave de la Cuenta Bancaria private float saldo; // Saldo de la Cuenta Bancaria private String estado; // Estado de la Cuenta Bancaria, // puede ser activa, inactiva o bloqueada } Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 18 9 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (6) • Declaración de métodos-encabezado tipo_resultado <nombre_metodo>(<Lista de parametros> ); <Lista de parámetros> ::= tipo parametro_1, tipo parametro_2, ... , tipo parametro_N Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 19 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (7) • Declaración de métodos - documentación tipo_resultado <nombre_metodo>(tipo parametro_1, tipo parametro_2, ... , tipo parametro_N ) { //----------------------------------------------------------------------// Descripción del propósito del método. // ---------------------------------------------------------------------// Descripción de parametros: // parametro_1: descripción // ... // parametro_N: descripción // ---------------------------------------------------------------------// PRE: Precondición del método (aserciones sobre los parámetros). // POS: Postcondición del método (aserciones sobre la respuesta y valores // finales). //----------------------------------------------------------------------} Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 20 10 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (8) • CuentaBancaria- Declaración de métodos float darSaldo() { //----------------------------------------------------------------------// Devuelve el saldo de la Cuenta Bancaria. // ---------------------------------------------------------------------// PRE: True // POS: darSaldo = saldo //----------------------------------------------------------------------} int darTitular() { //----------------------------------------------------------------------// Devuelve el Titular de la Cuenta Bancaria. // ---------------------------------------------------------------------// PRE: True // POS: darTitular = nombreTitular //----------------------------------------------------------------------} Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 21 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (9) • Cuenta Bancaria- Declaración de métodos void cambiarSaldo(float nuevoSaldo ) { //----------------------------------------------------------------------// Cambia el saldo de la Cuenta Bancaria por nuevoSaldo. // ---------------------------------------------------------------------// Descripción de parametros: // nuevoSaldo: es el nuevo valor del saldo // ---------------------------------------------------------------------// PRE: nuevoSaldo >= 0 // POS: saldo==nuevoSaldo //----------------------------------------------------------------------} Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 22 11 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (10) • Cuenta Bancaria- Declaración de métodos void cambiarEstado(String nuevoEstado ) { //----------------------------------------------------------------------// Cambia el estado de la Cuenta Bancaria por nuevoEstado. // ---------------------------------------------------------------------// Descripción de parametros: // nuevoEstado: es el nuevo valor del estado // ---------------------------------------------------------------------// PRE: nuevoEstado no es vacío // POS: estado==nuevoEstado //----------------------------------------------------------------------} Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 23 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (11) • Cuenta Bancaria- Declaración de métodos void consignar(float consignacion ) { //----------------------------------------------------------------------// Suma al saldo de la Cuenta Bancaria el valor de la consignación. // ---------------------------------------------------------------------// Descripción de parametros: // consignacion: es el valor a consignar en la Cuenta Bancaria // ---------------------------------------------------------------------// PRE: consignacion > 0 // POS: saldo = saldo + consignacion //----------------------------------------------------------------------} Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 24 12 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (12) • Declaración de métodos- Métodos constructores – Los métodos constructores son los que se ejecutan cuando se crea un objeto de la clase. – Método sin parámetros public <nombre_clase> () { } – Método con parámetros public <nombre_clase> (tipo par1,tipo par2, ..tipo parN) { } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 25 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (13) • Cuenta Bancaria - Métodos constructores – Método sin parámetros public CuentaBancaria () { } – Método con parámetros public CuentaBancaria (int numero,String Titular,float Saldo, String clave ) { } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 26 13 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (14) • Implementación de los métodos – Implementar un método significa escribir el código que se debe ejecutar cuando al objeto se le solicita que realice el método. – Para escribir el código utilizamos algorítmica básica : • secuenciación de instrucciones, condicionales y ciclos • asignación • uso de variables Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 27 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación y uso de clases en JAVA (15) • Implementación de los métodos – Los métodos trabajan con los atributos del objeto para cambiar sus valores o para proveer información basado en ellos. – Un método es una secuencia de instrucciones que lleva de la precondición a la poscondición del método. – La implementación de los métodos se escribe en el archivo .java Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 28 14 Principios de Programación Orientada por Objetos Implementación de clases en JAVA(16) • Implementación de los métodos Encabezado tipo_resultado nombre_método(tipo parametro_1,... , tipo parametro_N ) { //Declaración de variables <tipo> variable1; // descripción de la variable <tipo> variableN; // descripción de la variable Código Asignación Condicional definido. Ciclo //Explicación de cada grupo de instrucciones con un fin bien Instrucción_1; ... instrucción_I; //Explicación de cada grupo de instrucciones con un fin bien definido. Instrucción_I+1; ... instrucción_N; } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 29 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA(17) • Cuenta Bancaria: Implementación de los métodos – Constructores public CuentaBancaria() { numeroCuenta = 0; nombreTitular= null; clave= null; saldo= 0; estado= new String(“activa”); } Rubby Casallas G. - Angela Carrillo .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 30 15 Principios de Programación Orientada por Objetos Implementación de clases en JAVA(18) • Cuenta Bancaria: Implementación de los métodos – Constructores (cont) public CuentaBancaria(int numero,String Titular,float Saldo, String Clave ) { numeroCuenta = numero; nombreTitular= new String(Titular); clave = new String(Clave); saldo= Saldo; estado= new String(“activa”); } Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 31 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA(19) • Cuenta Bancaria: Implementación de los métodos – Constructores (cont) public CuentaBancaria(CuentaBancaria C ) { numeroCuenta = C.darnumeroCuenta(); nombreTitular= new String(C.darTitular()); clave = new String(C.darClave()); saldo= C.darSaldo(); estado= new String(“activa”); } Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 32 16 Principios de Programación Orientada por Objetos Implementación y uso de clases en JAVA (20) • Cuenta Bancaria: Implementación de los métodos – Analizadores float darSaldo() { return saldo; } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 33 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación y uso de clases en JAVA (21) • Cuenta Bancaria: Implementación de los métodos – Analizadores String darEstado() { return estado; } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 34 17 Principios de Programación Orientada por Objetos Implementación de clases en JAVA(22) • Cuenta Bancaria: Implementación de los métodos – Modificadores void cambiarSaldo(float nuevoSaldo) { saldo = nuevoSaldo; } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 35 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA(23) • Cuenta Bancaria: Implementación de los métodos – Modificadores void cambiarEstado(String nuevoEstado) { estado = new String(nuevoEstado); } Rubby Casallas G. - Angela Carrillo .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 36 18 Principios de Programación Orientada por Objetos Implementación de clases en JAVA (24) • Cuenta Bancaria: Implementación de los métodos – Modificadores void consignar(float consignacion) { saldo = saldo + consignacion; } void retirar(float consignacion) { saldo = saldo - consignacion; } Angela C. Carrillo. .Departamento de Ingeniería de Sistemas y Computación 37 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Implementación de clases en JAVA (25) • Cuenta Bancaria: Implementación de los métodos – Modificadores void transferir(float transferencia, CuentaBancaria Destino) { this.retirar(transferencia); Destino.consignar(transferencia); } Angela C. Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 38 19 Principios de Programación Orientada por Objetos Uso de clases en JAVA (1) • Una aplicación está compuesta de dos componentes: – El mundo del problema: el conjunto de clases que modelan el mundo – La interfaz: la parte encargada de interactuar con el usario, para pedirle información o para mostrarle información Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 39 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Uso de clases en JAVA (2) • La interfaz utiliza objetos del mundo del problema, a esos objetos los declara, los inicializa y les envía mensajes para modificar su estado o para solicitarles información. Interfaz Modelo del Mundo Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 40 20 Principios de Programación Orientada por Objetos Uso de clases en JAVA (3) • Existen dos tipos de interfaz usuario: interfaces gráficas e interfaces tipo consola. Pimer Número Segundo Número Suma Sumar • Borrar En este curso, construimos interfaces de consola y usamos interfaces gráficas Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 41 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Uso de clases en JAVA (4) • Esqueleto de un programa que usa interfaz de consola: class <NombreClase>{ // -------------Declaracion de atributos y métodos de la clase--------------public static void main(String args[]) { //-----------------Declaración de Variables-----------------------------tipo variable_1; // descripción de la variable ... tipo variable _n; // descripción de la variable Instrucción_1; ... instrucción_N; •Tipo básico •Clase Ejemplo: CuentaBancaria c; } } Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 42 21 Principios de Programación Orientada por Objetos Uso de clases en JAVA (5) • Instrucciones de entrada/salida por consola – Salida: Mostrar por pantalla • System.out.println("Hola todos”); • System.out.println("El saldo es:" + saldo); – Entrada: Leer de la pantalla BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); String t = in.readLine(); float saldo = Float.valueOf(t).floatValue(); Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 43 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Uso de clases en JAVA (6) • Ejemplo uso de la clase Cuenta Bancaria: – Leer los datos básicos de la Cuenta Bancarias, hacer una consignación, un retiro y mostrar el saldo actual. public static void main (String args[]) { //--------------Declaración de Variables-------------------------CuentaBancaria c; // la Cuenta Bancaria a manejar int n; // número de la Cuenta Bancaria float saldo; // saldo de la Cuenta Bancaria String Titular; // Nombre del titular de la Cuenta Bancaria String Clave; // Clave de la Cuenta Bancaria String Num; // Cadena auxiliar para recibir el número de la Cuenta Bancaria c=new CuentaBancaria(); // creamos una Cuenta Bancaria de número 0, con Titular y clave //vacío, saldo en 0 y estado Activa Rubby Casallas G. - Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 44 22 Principios de Programación Orientada por Objetos • Uso de clases en JAVA (7) Ejemplo uso de la clase Cuenta Bancaria: – Leer los datos básicos de la Cuenta Bancarias, hacer una consignación, un retiro y mostrar el saldo actual. //--------------Leer datos de Cuenta Bancaria------------------- BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); System.out.println( "Teclee el Titular de la Cuenta Bancaria" ); Titular = in.readLine(); System.out.println( "Teclee la clave de la Cuenta Bancaria" ); Clave = in.readLine(); System.out.println( "Teclee el número de la Cuenta Bancaria" ); Num = in.readLine(); n = Integer.valueOf(Num).intValue(); System.out.println( "Teclee el saldo de la Cuenta Bancaria" ) Num = in.readLine(); saldo = Float.valueOf(Num).floatValue(); Rubby Casallas G. Angela Carrillo R. .Departamento de Ingeniería de Sistemas y Computación 45 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Uso de clases en JAVA (8) • Ejemplo uso de la clase Cuenta Bancaria: – Leer los datos básicos de la Cuenta Bancarias, hacer una consignación, un retiro y mostrar el saldo actual. //----------------Cambiar datos de cuenta Bancaria------------------c.cambiarTitular(Titular); c.cambiarSaldo(saldo); c.cambiarClave(Clave); c.cambiarNumero(n); //----------------Cambiar datos de f2-------------------------------c.consignar(200.000); c.retirar(50.000); System.out.println( ”El saldo actual es” + c.darSaldo() ); } Rubby Casallas G. - Angela C. Carrillo R. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 46 23 Principios de Programación Orientada por Objetos Cómo construir el Modelo del Mundo? (1) 1 Identificar los elementos del mundo que participan en el problema: –El punto de inicio es el elemento que representa el mundo completo –Identifique sus componentes y partes hasta llegar a elementos básicos –Agregar una clase al diagrama de clases por cada elemento que se deba incluir en el modelo => se incluyen los elementos relevantes al problema. Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 47 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Cómo construir el Modelo del Mundo? (2) – Cómo identificar los objetos del Mundo? • Sustantivos del enunciado (El puesto del parqueadero, la pantalla, el hospital..., la historia clínica..., la factura ...) • Cosas tangibles (libro, tren, mesa, voto, computador,...) • Roles (empleado, estudiante, profesor, paciente, propietario,...) • Incidentes (venta, compra, matrimonio,...) Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 48 24 Principios de Programación Orientada por Objetos Resultado de la construcción del Modelo Documentación del diseño Diagrama de clases + Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación 49 Universidad de los Andes, Bogotá-Colombia Principios de Programación Orientada por Objetos Ejercicios Calculadora de complejos: Diseñe una clase que modele una calculadora de complejos. En una calculadora se pueden sumar, multiplicar y restar números complejos. No maneja memorias y tiene un botón para borrar la pantalla . Reloj despertador sencillo: Diseñe una clase que modele un reloj despertador al que se le puede cambiar la hora (horas y minutos), la hora de la alarma y prender y apagar la alarma. Rubby Casallas G. .Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes, Bogotá-Colombia 50 25