lunes, 6 de mayo de 2013

Herencia - Superclases y subclases

Al pensar en el término Figura geométrica algunos puede imaginar un cuadrado inmediatamente, otros un círculo, algunos más un triángulo, y los más raros un octágono.
A pesar de ser figuras diferentes, comparten algunas cosas en común, como tener área, tener perímetro, etc.
Si este concepto lo aplicamos en la programación orientada a objetos, en la que FiguraGeometrica fuera una clase; las clases: Círculo, Cuadrado, Triangulo, Octágono, serían subclases de la superclase FiguraGeometrica.

Pensemos en otro ejemplo.

La superclase Fruta puede tener infinitas sublcases como: Manzana, Mango, Pera, Uva, etc. Todas estas subclases deben tener algo en común que han heredado de la clase Fruta.
La superclase Fruta debe ser más abstracta (generalizada).
Las subclases Manzana, Mango, Pera y Uva deben ser más específicas.
 Si intentamos definir la clase Fruta muy rápidamente quedaría de la siguiente forma:

public class Fruta{
    private String color;
    private double peso;
         [...]
}

Si al describirnos una fruta, intentaran darnos solo el color y el peso, tal vez tendríamos alguna idea de qué fruta se trata, pero no estaríamos seguros, ahora veamos cómo sería la definición de la subclase Manzana:

public class Manzana extends Fruta{
    private String tipo;
    private double precio;
    private String temporada;
    [...]
}

Este fue un ejemplo muy sencillo, ahora te corresponde a ti intentar definir la superclase y las subclases de otros ejemplos como Vehículos, Animales, etc.

2 comentarios:

  1. Hola Isaias Mil gracias por el tiempo invertido a tu curso lastima que ya no hay mas información ojala puedas retomarlo por que me ayudo mucho.

    saludos gracias

    ResponderEliminar
  2. sands casino resort - SEGAGENESIS - Singapore
    The resort in Cipac, is one of the newest 바카라사이트 casino complexes on the SGS Global Online Gambling List. The resort is located 제왕 카지노 in 샌즈카지노 the heart of the city,

    ResponderEliminar