La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lección 1 Introducción a la POO Mari Carmen Otero Escuela Universitaria de Ingeniería de Vitoria-Gasteiz

Presentaciones similares


Presentación del tema: "Lección 1 Introducción a la POO Mari Carmen Otero Escuela Universitaria de Ingeniería de Vitoria-Gasteiz"— Transcripción de la presentación:

1 Lección 1 Introducción a la POO Mari Carmen Otero Escuela Universitaria de Ingeniería de Vitoria-Gasteiz

2 2 Clases y objetos Un objeto es un componente de software que encapsula un estado y comportamiento. Una clase define los atributos y comportamientos comunes que comparte un tipo de objeto. Las clases actúan de una forma muy parecida a una plantilla o un molde para galletas, en el sentido de que una clase se utiliza para crear o instanciar objetos.

3 3 Atributos y comportamiento Los atributos son las características externas y visibles de una clase. Un comportamiento es la acción que realiza un objeto cuando pasa un mensaje o en respuesta a un cambio de estado. Los términos llamada a método, llamada a función o envío de mensaje se utilizan para referirse a que se ejecuta una operación.

4 4 Ejemplo: Articulo.java package miTema1; public class Articulo { private double precio_unitario; private double descuento; // un porcentaje de descuento que se aplica al precio private int cantidad; private String descripcion; private String id; public Articulo( String id, String descripcion, int cantidad, double precio ) { this.id = id; this.descripcion = descripcion; if( cantidad >= 0 ) this.cantidad = cantidad; else this.cantidad = 0; this.precio_unitario = precio; } public double getTotalAjustado() { double total = precio_unitario * cantidad; double descuento_total = total * descuento; double total_ajustado = total - descuento_total; return total_ajustado; }

5 5 Ejemplo: Articulo.java public void setDescuento( double descuento ) { if( descuento <= 1.00 ) this.descuento = descuento; else this.descuento = 0.0; } public double getDescuento() { return descuento; } public int getCantidad() { return cantidad; } public void setCantidad( int cantidad ) { if( cantidad >= 0 ) this.cantidad = cantidad; } public String getIDProducto() { return id; }

6 6 Ejemplo: Articulo.java public String getDescripcion() { return descripcion; }

7 7 Constructores Los constructores son métodos que se utilizan para inicializar objetos en la etapa de instanciación. El método de la clase Articulo public Articulo( String id, String descripcion, int cantidad, double precio ) se denomina constructor y asigna valores iniciales durante la creación de un objeto de la clase Articulo.

8 8 Estado de un objeto Los atributos precio_unitario, descuento, cantidad, descripción, id son variables internas de la clase Articulo. Estos valores contienen el estado del objeto. El estado de un objeto varía con el paso del tiempo. Por ejemplo, un comprador podría aplicar un cupón a un artículo concreto, y al hacerlo modificará el estado de dicho artículo porque cambiará el valor de descuento.

9 9 Accesores y mutadores Los accesores proporcionan acceso a los datos internos de un objeto, pero no permiten saber si los datos están en una variable, una combinación de variables o si son calculados. Los comportamientos como getTotalAjustado (), getDescuento () se denominan accesores. El acceso podría ser directo, como en el caso de getDescuento (), o se podría realizar algún tipo de proceso antes de devolver un valor, como en el caso de getTotalAjustado (). Los mutadores permiten modificar el estado interno de un objeto. Los comportamientos como setDescuento (), setCantidad () se denominan mutadores. En el caso de setDescuento () se modifica el valor del atributo descuento, y en el de setCantidad () el atributo cantidad.

10 10 Ejemplo: EjemploArticulo.java package miTema1; public class EjemploArticulo { public static void main( String [] args ) { // crea los artículos Articulo leche = new Articulo( "lácteos-011", "Botella de Leche", 2, 0.78 ); Articulo yogur = new Articulo( "lácteos-032", "Yogur de Manzana", 4, 0.20 ); Articulo pan = new Articulo( "panadería-023", "Pan Integral", 2, 0.82 ); Articulo jabon = new Articulo( "limpieza-21", "Detergente", 1, 6.51 ); // aplica cupones leche.setDescuento( 0.15 ); // obtiene precios ajustados double precio_leche = leche.getTotalAjustado(); double precio_yogur = yogur.getTotalAjustado(); double precio_pan = pan.getTotalAjustado(); double precio_jabon = jabon.getTotalAjustado(); // imprime el recibo System.out.println( "Gracias por su compra." ); System.out.println( "¡Vuelva pronto!" ); System.out.println( leche.getDescripcion() + "\t" + precio_leche + " " ); System.out.println( yogur.getDescripcion() + "\t" + precio_yogur + " " ); System.out.println( pan.getDescripcion() + "\t \t" + precio_pan + " " ); System.out.println( jabon.getDescripcion() + "\t \t" + precio_jabon + " " ); // calcula e imprime el total double total = precio_leche + precio_yogur + precio_pan + precio_jabon; System.out.println(" "); System.out.println( "Precio Total\t \t" + total + " "); }

11 11 Objetos y mensajes Los objetos se comunican entre sí mediante mensajes. La acción de enviar un mensaje es equivalente a llamar un método para modificar el estado del objeto o para ejercer un comportamiento. En general, el programa EjemploArticulo.java crea diversos artículos, aplica descuentos e imprime un recibo. Crea instancias de cuatro objetos Articulo. La interacción entre dichos objetos se realiza a través del envío de mensajes. Por ejemplo, aplica 15% de descuento a la leche mediante el envío del mensaje setDescuento () al artículo. Para obtener el precio total de los artículos envía primero el mensaje getTotalAjustado () a cada artículo. Envía un recibo a la pantalla.

12 12 Beneficios de la POO La POO debe producir software con las siguientes características: Confiable ¿Cuándo fue la última vez que su televisor se estropeó? Reutilizable ¿Un ingeniero eléctrico inventa un tipo nuevo de resistencia cada vez que diseña un circuito? Los programadores continúan reinventando la rueda. Mantenible Entre 60 y 80% del tiempo invertido en un programa se emplea en el mantenimiento. ¡El desarrollo constituye sólo 20% de la ecuación! Extensible El software no es estático, necesita cambiar para ser útil. La POO proporciona al programador diversas características para extender el código: la herencia, el polimorfismo, el reemplazo de métodos, la delegación y los patrones de diseño.

13 13 Pilares de la POO Encapsulamiento Herencia Polimorfismo


Descargar ppt "Lección 1 Introducción a la POO Mari Carmen Otero Escuela Universitaria de Ingeniería de Vitoria-Gasteiz"

Presentaciones similares


Anuncios Google