Salut à tous !
Après avoir acheté un livre en JAVA pour apprendre à m’entraîner , j'ai essayé de faire un exercice mais je suis bloqué concernant l'héritage des classes , les classes abstraites.
Je vous met le sujet ci-dessous ainsi que ma solution proposé en espérant avoir de l'aide ce serait super
UN ÉNORME MERCI A LA COMMUNAUTÉ
Aujourd’hui j’ai décidé de me lancer dans la vente. Je vais vendre des deux roues, des
voitures d’occasions, des motos et des camionnettes. Les camions ne m'intéressent pas
pour le moment. Mon associé voit bien plus grand, il veut aussi que l’on vende des
hélicoptères, des drones et des ULM.
Pour chaque véhicule ci dessus, il y aura au minimum, la marque, le modèle, le numéro de
série, la couleur, la date de mise en service. Certains véhicules auront aussi besoin de la
plaque d’immatriculation, du kilométrage, du cylindré et du type de carburant. On veut aussi
connaître l'état du véhicule (quasi neuf, usagé, etc...) ainsi que connaître les défauts (griffe,
pneu usé, coup, etc...). Enfin pour chaque véhicule, on connaîtra son prix hors taxe et TTC.
Mon associé et moi souhaitons avoir un catalogue de nos véhicules. On veut pouvoir ajouter
des véhicules, supprimer des véhicules, modifier des véhicules du catalogue, attention “tout”
n’est pas modifiable pour un véhicule. On veut aussi pouvoir chercher un véhicule par nom
et/ou* par type et/ou par marque. On veut aussi pouvoir rechercher ces véhicules par
plaques d’immatriculation pour certains.
Classe véhicule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| abstract class Vehicule
{
private int matricule;
private int modele;
private double prix;
private static int nb_vehicules = 0;
public int Matricule
{
get { return matricule; }
}
public int Modele
{
get { return modele; }
set { modele = value; }
}
public double Prix
{
get { return prix; }
set { prix = value; }
}
public static int Nb_vehicules
{
get { return nb_vehicules; }
}
public Vehicule(int modele, double prix)
{
nb_vehicules++;
matricule = nb_vehicules;
this.modele = modele;
this.prix = prix;
}
public abstract void Demarrer();
public abstract void Accelerer();
public override string ToString()
{
return "Matricule: " + matricule + " Modéle: " + modele + " Prix: " + prix;
}
} |
Classe voiture
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public class Voiture {
class Voiture : Vehicule
{
public Voiture(int modele, double prix) : base(modele, prix) { }
public override void Demarrer() //Implémentation de la méthode abstraire Démarrer()
{
Console.Out.WriteLine("La voiture démarre....");
}
public override void Accelerer() //Implémentation de la méthode abstraire accélérer()
{
Console.Out.WriteLine("La voiture Accélére....");
}
public override string ToString()
{
return "Voiture_ "+base.ToString();
}
}
} |
Classe camion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public class Camion {
class Camion : Vehicule
{
public Camion(int modele, double prix) : base(modele, prix) { }
public override void Demarrer()
{
Console.Out.WriteLine("Le camion démarre....");
}
public override void Accelerer()
{
Console.Out.WriteLine("Le camion Accélére....");
}
public override string ToString()
{
return "Camion_ " + base.ToString();
}
}
//
} |
Main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Program
{
static void Main(string[] args)
{
Voiture v = new Voiture(2005,200000);
Console.Out.WriteLine(v);
v.Demarrer();
v.Accelerer();
Camion c = new Camion(2003, 4560000);
Console.Out.WriteLine(c);
c.Demarrer();
c.Accelerer();
Console.ReadKey();
}
} |
Partager