288 votes

Classe abstraite en Java

Qu'est-ce qu'une "classe abstraite" en Java ?

3voto

Andreas_D Points 64111

Obtenez vos réponses ici :

Classe abstraite et interface en Java

Une classe abstraite peut-elle avoir une méthode finale ?

BTW - ce sont les questions que vous avez posées récemment. Pensez à une nouvelle question pour construire votre réputation...

Edit :

Je viens de me rendre compte que les auteurs de cette question et de celles qui y font référence ont le même nom ou du moins un nom similaire, mais que l'identifiant est toujours différent. Donc, soit il y a un problème technique qui fait que Keyur a du mal à se reconnecter et à trouver les réponses à ses questions, soit il s'agit d'une sorte de jeu pour divertir la communauté de l'OS ;)

3voto

Ravindra babu Points 5571

De l'oracle documentation

Méthodes et classes abstraites :

Une classe abstraite est une classe qui est déclarée abstraite - elle peut inclure ou non des méthodes abstraites.

Les classes abstraites ne peuvent pas être instanciées, mais elles peuvent être sous-classées.

Une méthode abstraite est une méthode qui est déclarée sans implémentation (sans accolades, et suivie d'un point-virgule), comme ça :

abstract void moveTo(double deltaX, double deltaY);

Si une classe comprend des méthodes abstraites, la classe elle-même doit être déclarée abstraite, comme dans :

public abstract class GraphicObject {
   // declare fields
   // declare nonabstract methods
   abstract void draw();
}

Lorsqu'une classe abstraite est sous-classée, la sous-classe fournit généralement des implémentations pour toutes les méthodes abstraites de sa classe mère. Toutefois, si ce n'est pas le cas, la sous-classe doit également être déclarée abstraite. .

Depuis abstract classes y interfaces sont liées, jetez un coup d'œil aux questions SE ci-dessous :

Quelle est la différence entre une interface et une classe abstraite ?

Comment aurais-je dû expliquer la différence entre une interface et une classe abstraite ?

2voto

DragonBorn Points 1874

1voto

Ashvin Ranpariya Points 251

Solution - classe de base (abstraite)

public abstract class Place {

String Name;
String Postcode;
String County;
String Area;

Place () {

        }

public static Place make(String Incoming) {
        if (Incoming.length() < 61) return (null);

        String Name = (Incoming.substring(4,26)).trim();
        String County = (Incoming.substring(27,48)).trim();
        String Postcode = (Incoming.substring(48,61)).trim();
        String Area = (Incoming.substring(61)).trim();

        Place created;
        if (Name.equalsIgnoreCase(Area)) {
                created = new Area(Area,County,Postcode);
        } else {
                created = new District(Name,County,Postcode,Area);
        }
        return (created);
        }

public String getName() {
        return (Name);
        }

public String getPostcode() {
        return (Postcode);
        }

public String getCounty() {
        return (County);
        }

public abstract String getArea();

}

1voto

AVD Points 57984

Petit complément à tous ces posts.

Parfois, on peut vouloir déclarer un mais ne pas savoir comment définir toutes les méthodes qui appartiennent à cette cette classe. Par exemple, on peut vouloir déclarer une classe appelée Écrivain et inclure une méthode membre appelée écrire() . Cependant, vous ne savez pas comment coder écrire() car elle est différent pour chaque type de Writer d'appareils. Bien sûr, vous prévoyez de gérer ceci en dérivant des sous-classes de Writer, comme Imprimante, Disque, Réseau et Console.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X