La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Figura Rectangulo Elipse Cuadrado Circulo area (): double

Presentaciones similares


Presentación del tema: "Figura Rectangulo Elipse Cuadrado Circulo area (): double"— Transcripción de la presentación:

1 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

2 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

3 // 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 (); }

4 // 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; }

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

6 // 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; } }

7 // 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; }

8 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; } }

9 // 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;

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


Descargar ppt "Figura Rectangulo Elipse Cuadrado Circulo area (): double"

Presentaciones similares


Anuncios Google