4. Quebrado a, b, c; a = Quebrado_Pedir(); b = Quebrado_Pedir(); c = Quebrado_Sumar(a,b); Quebrado a, b, c; a = new Quebrado(); b = new Quebrado(); a.Pedir(); b.Pedir(); c = a.Sumar(b); Visita FIEC Novedades y aplicaciones FIEC
11. Identidad cuenta bancaria antena parabólica Variable Dirección unCredito 10001324 unDebito 54647875 unaCuenta 87896545 unaCuentadeAhorros 87020486 Una tabla de símbolos caballo Doris Residencia de Doris Mi Computadora Una bicicleta roja
16. Ejemplo de Clase Objetos bicicletas Abstraídos en Clase Bicicleta Atributos Tamaño de frame Tamaño de llanta Material ... Métodos Cambio Mover Frenar...
17. Ejemplo de Clase public class Alumno { private String nombre; private String domicilio; public Alumno(String n, String d) {} public void setNombre (String n) {} public String getNombre() {} } UML Java Visita FIEC Novedades y aplicaciones FIEC Alumno - nombre: : String - domicilio : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
18.
19. Instancia Alumno alumno3 = new Alumno(“Jose Lopez”, “Centenario”); Creación de instancias u objetos a partir de la clase Alumno: Alumno alumno1 = new Alumno(“Juan Perez”, “Las Peñas”); Alumno alumno2 = new Alumno(“Abel Garcia”, “Los ceibos”); alumno3: Alumno nombre = Jose Lopez domicilio = Centenario alumno2: Alumno nombre = Abel García domicilio = Los ceibos alumno1: Alumno nombre = Juan Perez domicilio = Las Peñas Alumno - nombre: : String - domicilio : String + Alumno (n:String, d:String) + setNombre (n:String) :void + getNombre () :String
27. Herencia ANTES DESPUES superclase subclases Visita FIEC Novedades y aplicaciones FIEC Auto maxFuel maxNroDePasajeros modelo velocidad acelerar() desacelerar() doblarAIzq() doblarADcha() Avion maxAltitud maxFuel maxNroDePasajeros velocidad nroDeMotores acelerar() desacelerar() descender() ascender() Vehiculo maxFuel maxNroDePasajeros velocidad acelerar() desacelerar() Avion maxAltitud nroDeMotores descender() ascender() Auto modelo doblarAIzq() doblarADcha()
28. Herencia public class Vehiculo { } public class Auto extends Vehiculo{ } public class Avion extends Vehiculo{ } Java UML Visita FIEC Novedades y aplicaciones FIEC Vehiculo Auto Avion
31. Herencia Múltiple Problema de ambigüedad: unVehiculoAnfibio.Desplazarse(); Los lenguajes ofrecen mecanismos para deshacer la ambigüedad (en C++ => unVehiculoAnfibio.VehiculoTerrestre::Desplazarse()).
32.
33. Clases abstractas public abstract class Figura { ... } public class Circulo extends Figura{ ... } public class Rectangulo extends Figura{ ... } Figura f = new Figura(); Visita FIEC Novedades y aplicaciones FIEC Figura {Abstracto} Circulo Rectangulo
34.
35. Ejemplo de Polimorfismo Figura Geométrica Atributo: area Método: obtenerArea Atributos: longitud ancho Métodos: Rectangulo obtenerArea Atributo: radio Métodos: Circulo obtenerArea Rectangulo Circulo
36. Ejemplo de Polimorfismo método concreto Figura f = new Rectangulo(); int s = f.obtenerArea(); método abstracto Rectangulo + obtenerArea() Figura {abstracto} + obtenerArea() Circulo + obtenerArea() Método abstracto
41. Method-call Binding square circle shape user draw request draw_1 draw_2 Figura1 f = new Rectangulo(); int s = f.obtenerArea(); Rectangulo + obtenerArea() Figura {abstracto} + obtenerArea() Circulo + obtenerArea()
42.
43.
44.
45.
46.
47. Mensajes Objeto A Objeto B Visita FIEC Novedades y aplicaciones FIEC Metodo Datos Metodo Metodo Metodo Metodo Datos Datos Datos Metodo Metodo Metodo Metodo Datos Metodo Metodo Metodo Metodo Datos Datos Datos Metodo Metodo Metodo
48. Mensajes public class Factura { ... i.obtenerPrecio(); ... } public class Item { public obtenerPrecio(){ a.obtenerCosto(); this.calcularPrecio(); } private calcularPrecio(){ ... } } Visita FIEC Novedades y aplicaciones FIEC