Lección 1 Introducción a la POO

Slides:



Advertisements
Presentaciones similares
ESTRUCTURA DE DATOS Unidad 01 Conceptos Previos.
Advertisements

Complejidad Computacional
Curso de java básico (scjp)
Curso de java básico (scjp)
Definición de Clases y Variables de referencia.
Fundamentos de la programación orientada a objetos
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 Clases y Objetos Silvia Larrayoz Leire Urriza.
POLIMORFISMO "una interfaz, múltiples métodos".
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Entendiendo la definición de clases
Orientación a Objetos con Java SE
Abstracciones y Modelos
El proceso de desarrollo de software
Lección 2 Encapsulamiento
Genéricos en Java Jaime Ramírez, Ángel Lucas González
Herencia y Polimorfismo
Tratamiento de listas en Java
UNIVERSIDAD LATINA (UNILA)
Aplicación del paradigma orientado a objetos
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
/*Desarrollar una solución que permita ingresar y almacenar el promedio de prácticas, la nota del examen parcial y la nota del examen final de todos.
Programación Orientada a Objetos en Java
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
HERENCIA.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Herencia e Interfaces.
Programación Orientada a Objetos usando C++
Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp.
Medio de tele-comunicación
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Herencia y Polimorfismo en JAVA
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
Lic. Rosemary Torrico Bascopé
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
PROGRAMACIÓN ORIENTADA A OBJETOS
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Variables polimórficas (plantillas): definición, uso y aplicación
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Clase Teórica No. 4 Programación IV
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
Jerarquía de Clases: Herencia, Composición y Polimorfismo
El lenguaje de programación Java
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Programación Orientada a Aspectos (POA)
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Patrones Creacionales
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
HERENCIA.
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
Programación Orientada a Objetos: CLASES Y OBJETOS
Encapsulamiento Miguel Ángel Rojas Aguilar Esthela Carmina Carranza Cabrera.
TALLER POO JAVA ERNESTO GOMEZ VARGAS. OBJETIVOS REALIZAR UNA APLICACIÓN SENCILLA DE P.O.O FAMILIARIZARSE CON LA HERRAMETA NETBEANS APLICAR EL CONCEPTO.
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Transcripción de la presentación:

Lección 1 Introducción a la POO http://www.vc.ehu.es/jiwotvim/IngenieriaSoftware/Teoria/POO/ Lección 1 Introducción a la POO Mari Carmen Otero Escuela Universitaria de Ingeniería de Vitoria-Gasteiz

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.

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.

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;

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;

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

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.

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.

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. 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.

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 + " €"); }

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.

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.

Pilares de la POO Encapsulamiento Herencia Polimorfismo