web-dev-qa-db-fra.com

Qu'est-ce qu'une sous-classe?

Qu'est-ce qu'une "sous-classe" en java?

Je connais les classes et les méthodes, mais je ne connais pas les sous-classes.

44
Master C

Une sous-classe est une classe qui étend une autre classe.

public class BaseClass{
    public String getFoo(){
        return "foo";
    }
}

public class SubClass extends BaseClass{
}

Ensuite...

System.out.println(new SubClass().getFoo());

Imprimera:

foo

Cela fonctionne car une sous-classe hérite des fonctionnalités de la classe qu'elle étend.

84
Jeremy

Une sous-classe est quelque chose qui étend les fonctionnalités de votre classe existante. C'est à dire.

Superclasse - décrit la catégorie d'objets:

public abstract class Fruit {

    public abstract Color color;

}

Sous-classe 1 - décrit les attributs des objets Fruit individuels:

public class Apple extends Fruit {

    Color color = red;

}

Sous-classe 2 - décrit les attributs des objets Fruit individuels:

public class Banana extends Fruit {

    Color color = yellow;

}

Le mot-clé 'abstrait' dans la super-classe signifie que la classe ne définira que les informations obligatoires que doit posséder chaque sous-classe, c'est-à-dire qu'un fruit doit avoir une couleur de sorte qu'il est défini dans la super-classe et que toutes les sous-classes doivent 'hériter' de cet attribut et définir la valeur qui décrit l'objet spécifique.

Cela a-t-il du sens?

10
travega

La sous-classe est classée comme Java correspond au langage de programmation.

3
Mehrdad

C'est une classe qui étend une autre classe.

exemple tiré de https://www.Java-tips.org/Java-se-tips-100019/24-Java-lang/784-what-is-a-Java-subclass.html , Cat est une sous classe d'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();
    }
}
3
Pih

Une sous-classe en Java est une classe qui hérite d'une autre classe.

L'héritage est un moyen pour les classes d'ajouter un comportement spécialisé après un comportement généralisé. Ceci est souvent représenté par l'expression "est une" relation.

Par exemple, un Triangle est un Shape; il est donc logique d'implémenter une classe Shape et d'en hériter la classe Triangle. Dans cet exemple, Shape est la superclasse de Triangle et Triangle est la sous-classe de Shape.

2
Alan

Si vous avez ce qui suit:

public class A
{
}

public class B extends A
{
}

then B est une sous-classe de A, B hérite de A. Le contraire serait superclasse.

2
Femaref

Pensez à une classe comme à une description des membres d’un ensemble de choses. Tous les membres de cet ensemble ont des caractéristiques communes (méthodes et propriétés).

Une sous-classe est une classe qui décrit les membres d'un sous-ensemble particulier de l'ensemble d'origine. Ils partagent de nombreuses caractéristiques de la classe principale, mais peuvent avoir des propriétés ou des méthodes propres aux membres de la sous-classe.

Vous déclarez qu'une classe est une sous-classe d'une autre via le mot clé "extend" en Java.

public class B extends A
{
...
}

B est une sous-classe de A. Les instances de la classe B présenteront automatiquement bon nombre des mêmes propriétés que les instances de la classe A.

C'est le concept principal de héritage dans la programmation orientée objet.

2
bpanulla

Une sous-classe est un petit fichier d'un programme qui s'étend d'une autre classe. Par exemple, vous créez un cours sur les voitures en général et disposez d'informations de base valables pour toutes les voitures avec constructeurs. Vous avez ensuite une classe qui s'étend de celle à une voiture ou à une ligne de voitures plus spécifique qui aurait de nouvelles variables/méthodes. . Je vois que vous avez déjà beaucoup d'exemples de code d'en haut au moment où je peux poster ceci, mais j'espère que cette description vous aidera.

0
Bill Myte