subclase - super en java
Qué es una Subclase (8)
Es una clase que amplía otra clase.
ejemplo tomado de http://www.java-tips.org/java-se-tips/java.lang/what-is-a-java-subclass.html , Cat es una subclase de Animal :-)
public class Animal {
public static void hide() {
System.out.println("The hide method in Animal.");
}
public void override() {
System.out.println("The override method in Animal.");
}
}
public class Cat extends Animal {
public static void hide() {
System.out.println("The hide method in Cat.");
}
public void override() {
System.out.println("The override method in Cat.");
}
public static void main(String[] args) {
Cat myCat = new Cat();
Animal myAnimal = (Animal)myCat;
myAnimal.hide();
myAnimal.override();
}
}
¿Qué es una "subclase" en java?
Sé sobre clases y métodos, pero no sé sobre subclases.
Piense en una clase como una descripción de los miembros de un conjunto de cosas. Todos los miembros de ese conjunto tienen características comunes (métodos y propiedades).
Una subclase es una clase que describe los miembros de un subconjunto particular del conjunto original. Comparten muchas de las características de la clase principal, pero pueden tener propiedades o métodos que son únicos para los miembros de la subclase.
Usted declara que una clase es una subclase de otra a través de la palabra clave "extends" en Java.
public class B extends A
{
...
}
B es una subclase de A. Las instancias de clase B exhibirán automáticamente muchas de las mismas propiedades que las instancias de clase A.
Este es el concepto principal de herencia en la programación orientada a objetos.
Si tiene lo siguiente:
public class A
{
}
public class B extends A
{
}
entonces B
es una subclase de A
, B
hereda de A
Lo opuesto sería superclase.
Una subclase en Java, es una clase que hereda de otra clase.
La herencia es una forma para que las clases agreguen un comportamiento especializado sobre el comportamiento generalizado. Esto a menudo se representa con la frase "es una" relación.
Por ejemplo, un Triangle
es una Shape
, por lo que podría tener sentido implementar una clase de forma y heredar la clase de triángulo. En este ejemplo, Shape
es la superclase de Triangle
y Triangle
es la subclase de Shape
Una subclase es algo que amplía la funcionalidad de su clase existente. Es decir
Superclase: describe la categoría de objetos:
public abstract class Fruit {
public abstract Color color;
}
Subclase 1: describe los atributos de los objetos individuales de Fruit:
public class Apple extends Fruit {
Color color = red;
}
Subclase2 - describe los atributos de los objetos individuales de Fruit:
public class Banana extends Fruit {
Color color = yellow;
}
La palabra clave ''abstracta'' en la superclase significa que la clase solo definirá la información obligatoria que debe tener cada subclase, es decir, una pieza de fruta debe tener un color para que se defina en la superclase y todas las subclases deben ''heredar'' ese atributo y define el valor que describe el objeto específico.
¿Tiene sentido?
Una subclase es un archivo pequeño de un programa que se extiende desde alguna otra clase. Por ejemplo, usted hace una clase sobre autos en general y tiene información básica que es válida para todos los autos con sus constructores y cosas así, usted tiene una clase que se extiende desde la de un automóvil o línea de automóviles más específica que tendría nuevas variables / métodos . Veo que ya tienes muchos ejemplos de código de arriba en el momento en que puedo publicar esto, pero espero que esta descripción te ayude.
Una subclase es una clase que amplía otra clase.
public class BaseClass{
public String getFoo(){
return "foo";
}
}
public class SubClass extends BaseClass{
}
Entonces...
System.out.println(new SubClass().getFoo());
Se imprimirá:
foo
Esto funciona porque una subclase hereda la funcionalidad de la clase que extiende.
La subclase es a la clase como Java es al lenguaje de programación.