Figura Rectangulo Elipse Cuadrado Circulo area (): double

Slides:



Advertisements
Presentaciones similares
Clases en C++.
Advertisements

© Lic. Fernando Campos Camacho
HERENCIA.
Lenguaje de Programación Java Profesor: Mauricio Martínez P. Análisis y Diseño Orientado a Objetos UML: Lenguaje de Modelamiento Unificado Toma de Requerimientos.
class Circulo extends Circunferencia Circunferencia perimetro Circunferenciaradio Circulo area Circulo.
Herencia e Interfaces.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Herencia en POO Eliseo Melgarejo Desarrollo de sistemas Udec.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2008.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Detalles Generales sobre Java
Sesión 06: Clases y Objetos (2)
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.
RELACIONES ENTRE CLASES M.C. YOLANDA MOYAO MARTINEZ.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Herencia.
ÁREAS Y PERÍMETROS DE LAS FIGURAS ELEMENTALES TRIÁNGULO CUADRADO RECTÁNGULO ROMBO TRAPECIO CIRCUNFERENCIA CÍRCULO.
Tema 2 : Java Básico Clase Práctica 5 (Conferencia 4)
PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento y constructores.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Unidad Didáctica 11 Reutilización Versión 1.0.0
Clases y Objetos.
Herencia y Clases Abstractas Reutilización de código y código genérico
Taller de Java Universidad de los Andes
Ingeniería Directa. Generar código a través de modelos se le conoce como ingeniería directa.
ÁREAS Y PERÍMETROS DE LOS POLÍGONOS ELEMENTALES
Herencia y Clases Abstractas
Programación orientada a objetos
Herencia Implementación en Java.
EL MUNDO DE LOS OBJETOS PROGRAMANDO EN JAVA.
Clase 11: Herencia 21-enero (J.Alvarez).
Áreas de figuras planas en el C.E.I.P. DIVINO SALVADOR
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Programación orientada a objetos
Clase 11: Herencia 15-abril (J.Alvarez).
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Sonia Rueda Herencia y Polimorfismo
Programación Orientada a Objetos I Unidad 4 Relaciones entre clases: herencia.
Herencia Agustín J. González ELO329.
Herencia en C#.
Desarrollo de Software
Ejemplo “Gestión Bancaria”
HERENCIA.
INTRODUCCION A UN LENGUAJE DE PROGRAMACIÓN
U.D. 8 * 2º ESO GEOMETRÍA PLANA
Ingeniero en Computación José Alfredo Cobián Campos
Clase 11: Herencia 15-abril (J.Alvarez).
Programación Orientada a Objetos
ÁREAS Y PERÍMETROS DE LOS CUERPOS ELEMENTALES
ÁREAS Y PERÍMETROS DE LOS CUERPOS ELEMENTALES TRIÁNGULO CUADRADO RECTÁNGULO ROMBO TRAPECIO CIRCUNFERENCIA CÍRCULO.
ÁREAS Y PERÍMETROS DE LOS CUERPOS ELEMENTALES TRIÁNGULO CUADRADO RECTÁNGULO ROMBO TRAPECIO CIRCUNFERENCIA CÍRCULO.
ÁREAS Y PERÍMETROS DE LOS CUERPOS ELEMENTALES
Lenguaje de Programación I
ÁREAS Y PERÍMETROS DE LOS POLÍGONOS ELEMENTALES
Herencia en C++ Agustín J. González ELO329.
ÁREAS Y PERÍMETROS DE LOS CUERPOS ELEMENTALES
ÁREAS Y PERÍMETROS DE LOS CUERPOS ELEMENTALES
Clase 11: Herencia 15-abril (J.Alvarez).
Clase 11: Herencia 15-abril (J.Alvarez).
Clase 11: Herencia 21-enero (J.Alvarez).
Herencia en C++ Agustín J. González ELO329.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Tema 5 H erencia. La herencia es una forma de reutilización de software en la que las clases se crean incorporando los datos (atributos) y el comportamiento.
Herencia Agustín J. González ELO329.
Herencia en C++ Agustín J. González ELO329.
Clases abstractas e interfaces
Transcripción de la presentación:

Figura Rectangulo Elipse Cuadrado Circulo area (): double perimetro (): double Rectangulo ancho: double alto: double Rectangulo (double anchura, double altura) area (): double perimetro (): double getAncho (): double getAlto (): double Elipse semiMayor: double semiMenor: double Elipse (double a, double b) area (): double perimetro (): double getMayor (): double getMenor (): double Cuadrado Cuadrado (double lado) getLado (): double Circulo Circulo (double radio) getRadio(): double

Figura Rectangulo Elipse Cuadrado Circulo Clase Abstracta (No posee objetos ni contructor) Figura area (): double perimetro (): double Relación de Herencia Rectangulo ancho: double alto: double Rectangulo (double anchura, double altura) area (): double perimetro (): double getAncho (): double getAlto (): double Elipse semiMayor: double semiMenor: double Elipse (double a, double b) area (): double perimetro (): double getMayor (): double getMenor (): double Atributos/Variables de la clase Constructor Métodos/Funciones u Operaciones de la clase Método que devuelve el valor del Atributo “ancho” Cuadrado Circulo Cuadrado (double lado) getLado (): double Circulo (double radio) getRadio(): double

// fichero Figura. java /. Orientación a objetos // fichero Figura.java /** Orientación a objetos */ public abstract class Figura { public abstract double area (); public abstract double perimetro (); }

// fichero Rectangulo. java /. Orientación a objetos // fichero Rectangulo.java /** Orientación a objetos */ public class Rectangulo extends Figura { // Variables de la clase private double ancho; private double alto; // Métodos de la clase // Método constructor public Rectangulo (double anchura, double altura) { ancho = anchura; alto = altura; } public double area () { return alto*ancho; }

public double perimetro () { return 2*(alto+alto); } public double getAncho () { return ancho; public double getAlto () { return alto;

// fichero Cuadrado. java /. Orientación a objetos // fichero Cuadrado.java /** Orientación a objetos */ public class Cuadrado extends Rectangulo { // Métodos de la clase // Método constructor public Cuadrado (double lado) { ancho = lado; // equivalente a: “super (lado, lado);” alto = lado; } // Método que retorna el valor del Atributo o miembro “ancho” public double getLado () { return ancho; } }

// fichero Elipse.java /** Orientación a objetos */ public class Elipse extends Figura { // Variables de la clase protected double semiMayor; protected double semiMenor; // Métodos de la clase // Método constructor public Elipse (double a, double b) { if (a >= b) { semiMayor = a; semiMenor = b; } else { semiMayor = b; semiMenor = a; }

public double area () { return Math.PI*semiMayor*semiMenor; } public double perimetro () { return Math.PI*(semiMayor+semiMenor); public double getMayor () { return semiMayor; } public double getMenor () { return semiMenor; } }

// fichero Circulo.java /** Orientación a objetos */ public class Circulo extends Elipse { // Métodos de la clase // Método constructor public Circulo (double radio) { super (radio, radio); } public double getRadio () { return semiMayor;

Características del paradigma Orientado a Objetos que intervienen en el ejemplo: Herencia: La clase Cuadrado, por ejemplo, deriva de la clase Rectangulo, heredando todos los atributos y funciones de la clase Rectangulo. Se dice pués, que es una Subclase de la misma. Redefinición: La clase Rectangulo redefine el método area y el método perímetro que había heredado de la clase padre Figura. Nótese que lo que se consigue con el modificador “abstract” en un método es obligar a redefinir dicho método en la clase derivada, clase hija o subclase. Encapsulamiento: Vemos que para acceder a un atributo desde de una determinada clase desde otra clase es necesario utilizar una llamada a un método (p. ejep.: getAncho), ya que no está permitido acceder directamente a esa variable. Esto se conoce como paso de mensajes entre clases. Polimorfismo: Ver programa principal. Nos permite tratar de forma unificada objetos distintos, que pertenecen a subclases diferentes.