La classe Article
Objectif :
- Définir les propriétés et méthodes d’une classe
- Définir des propriétés statiques
- Définir des constructeurs
- Créer une instance de classe
- Accéder par les accesseurs aux propriétés en lecture et écriture d’un objet
- Appliquer des méthodes
Travail à faire:
- Créer la classe Article caractérisée par les attributs : Référence, Désignation, PrixHT, TauxTVA.
Ces attributs doivent seulement être accessibles par le biais des accesseurs (get / set) en lecture/écriture mis en œuvre par les propriétés.
- Ajouter les constructeurs suivants :
- Un constructeur par défaut
- Un constructeur initialisant tous les attributs.
- Un Constructeur qui permet de renseigner la référence et la désignation lors de l’instanciation
- Un constructeur de recopie
- Implémentez la méthode CalculerPrixTTC() ;
Cette méthode doit calculer le prix TTC d’un article qui équivaut à : PrixHT + (PrixHT*TauxTVA/100) et retournera la valeur calculée.
- Ajouter la méthode AfficherArticle() qui affiche les informations de l’article.
- Créer un programme de test où il faut créer des objets (en utilisant les différents constructeurs) et leur calculer le prix TTC.
- Le taux de TVA est en fait commun à tous les articles. Pour éviter toute redondance de cet attribut, vous devriez donc la déclarer comme partagéeau niveau de la classe Article et non comme un attribut spécifique des objets instanciés à partir de la classe. Proposer une solution et tester de nouveau.
Donner le taux de TVA pour tous les articles : 20
Le taux TVA est : 20%
Article 1:
Référence : 0
Désignation :
Prix HT : 0
Le prix TTC est 0
Article 2:
Donner la référence: 111
Donner la désignation: ATA
Donner le prix HT: 100
Référence : 111
Désignation : ATA
Prix HT : 100
Le prix TTC est 120
Article 3:
Donner la référence: 122
Donner la désignation: RER
Référence : 122
Désignation : RER
Prix HT : 0
Le prix TTC est 0
Article 4:
Référence : 111
Désignation : ATA
Prix HT : 100
Le prix TTC est 120
La classe Article:
//Auteur : CHAOULID //Copyright: Exelib.net class Article { private int reference; private string designation; private double prixHT; private static double tauxTVA; //Attribut statique public int Reference { get { return reference; } set { reference = value; } } public string Designation { get { return designation; } set { designation = value; } } public double PrixHT { get { return prixHT; } set { prixHT = value; } } public static double TauxTVA //propriété statique { get { return tauxTVA; } set { tauxTVA = value; } } public Article() { } //Constructeur par défaut public Article(int r,string d) //Constructeur surchargé { reference = r; designation = d; } public Article(Article a) //Constructeur de recopie { reference = a.reference; designation = a.designation; prixHT = a.prixHT; } public Article(int r, string d, double p) //Constructeur d'initialisation { reference = r; designation = d; prixHT = p; } public double CalculerPrixTTC() { return prixHT * (1 + tauxTVA / 100); } public void AfficherArticle() { Console.Out.WriteLine("Référence : " + reference); Console.Out.WriteLine("Désignation : " + designation); Console.Out.WriteLine("Prix HT : " + prixHT); } }
Le programme de test:
//Auteur : CHAOULID //Copyright :Exelib.net class Program { static void Main(string[] args) { Console.Out.Write("Donner le taux de TVA pour tous les articles : "); Article.TauxTVA = double.Parse(Console.In.ReadLine()); //propriété statique Console.Out.WriteLine("Le taux TVA est : " + Article.TauxTVA + "%"); Console.Out.WriteLine("\n\nArticle 1: "); Article A1 = new Article(); A1.AfficherArticle(); Console.Out.WriteLine("Le prix TTC est " + A1.CalculerPrixTTC()); Console.Out.WriteLine("\n\nArticle 2: "); int r; string d; double p; Console.Out.Write("Donner la référence: "); r = int.Parse(Console.In.ReadLine()); Console.Out.Write("Donner la désignation: "); d = Console.In.ReadLine(); Console.Out.Write("Donner le prix HT: "); p = double.Parse(Console.In.ReadLine()); Article A2 = new Article(r, d,p); A2.AfficherArticle(); Console.Out.WriteLine("Le prix TTC est " + A2.CalculerPrixTTC()); Console.Out.WriteLine("\n\nArticle 3: "); Console.Out.Write("Donner la référence: "); r = int.Parse(Console.In.ReadLine()); Console.Out.Write("Donner la désignation: "); d = Console.In.ReadLine(); Article A3 = new Article(r, d); A3.AfficherArticle(); Console.Out.WriteLine("Le prix TTC est " + A3.CalculerPrixTTC()); Console.Out.WriteLine("\n\nArticle 4: "); Article A4 = new Article(A2); A4.AfficherArticle(); Console.Out.WriteLine("Le prix TTC est " + A4.CalculerPrixTTC()); Console.ReadKey(); } }