Jump to content
×
×
  • Create New...

Les Classes Abstraites Java


Homeomorphe

Recommended Posts

 Classes abstraites


Nota Bene : pour ce cours je prend comme hypothèse que vous avez déjà des bases de Java, le cas échéant, allez lire les cours présents dans la section 'tutoriels'.

 

Le concept de classe abstraite se situe entre celui de classe et celui d’interface (notion que j'introduirai plus tard, selon moi c'est plus simple de commencer par les classes abstraites). C’est donc une classe qu’on ne peut pas directement instancier car certaines de ses méthodes ne sont pas implémentées. Une classe abstraite peut donc contenir des variables (de n'importe quel type, primitif ou non), des méthodes implémentées et des signatures de méthode à implémenter. Une classe abstraite peut donc implémenter (partiellement ou totalement, même s'il est rare que ce le soit totalement) des interfaces et peut hériter d’une classe ou d’une classe abstraite. La création d'une classe abstraite se fait de la sorte : public abstract class { … }.  Imaginons que l’on souhaite attribuer deux variables, origine_x et origine_y, à tout objet représentant une forme nous avons donc la classe suivante avec les 'Getter' et les 'Setter' comme suit :
 

public abstract class Forme { private int origine_x; private int origine_y;
// Constructeur dit 'par défaut'
public Forme() { this.origine_x = 0; this.origine_y = 0; }
// Getter
public int getOrigineX() { return this.origine_x; }
public int getOrigineY() { return this.origine_y; }
// Setter
public void setOrigineX(int x) { this.origine_x = x; }
public void setOrigineY(int y) { this.origine_y = y; }
// Méthodes abstraites
public abstract int surface();
public abstract void affiche();}

 

- Classes et méthodes génériques :

 

De plus, il faut rétablir l’héritage des classes Rectangle et Cercle vers Forme (car les rectangles et les cercles sont des formes ;) , et si vous avez bien suivi votre cours sur l'héritage, on utilise le mot-clé 'extends' (toutefois il en existe un autre qui pour les interfaces appelées 'implements' qui fait strictement la même chose, j'en parlerai dans un prochain cours!)

// Classe Rectangle qui étend forme
public class Rectangle extends Forme { ... }
// Classe Cercle qui étend forme
public class Cercle extends Forme { ... }


Lorsqu’une classe hérite d’une classe abstraite, elle doit :

- soit implémenter les méthodes abstraites de sa super-classe en les dotant d’un corps ;

- soit être elle-même abstraite si au moins une des méthodes abstraites de sa super-classe reste abstraite. 

 

Fin de ce premier cours. 

Cordialement,

Homéo

  • J'adore 2
Link to comment
  • Administrateur

Excellent tutoriel, merci à toi !

Il est vrai que c'est un concept assez compliqué à assimiler la première fois mais c'est indispensable pour faire les choses correctement. Et c'est fort utile parfois

 

Merci encore :D

 

Link to comment
il y a 21 minutes, Calypso a dit :

Excellent tutoriel, merci à toi !

Il est vrai que c'est un concept assez compliqué à assimiler la première fois mais c'est indispensable pour faire les choses correctement. Et c'est fort utile parfois

 

Merci encore :D

 

 

Avec plaisir.

En effet quand une chose est abstraite c’est tout de suite plus dur à assimiler. :/ 

 

Homéo’

Link to comment
  • 5 months later...
  • Administrateur

Bonjour,

 

Le partage / tutoriel ici présent doit être réécrit. Le lien de téléchargement est probablement mort... Message automatique de masse...

 

Cordialement,

ASIKOO

Link to comment
  • ASIKOO changed the title to Les Classes Abstraites Java

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.