Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

C Sharp – Propriété masquée

Programmation en C# (C Sharp)



En C# une propriété peut être déclarée virtuelle ou statique dans une classe et être masquée comme une méthode dans une classe dérivée :

class clA
{
        public virtual Double prix
        { 
            get { ...}  // propriété virtuelle en lecture
            set { ... } // propriété virtuelle en écriture 
        }
}

Masquage statique dans une classe fille :

class clB : clA
{
        public new Double prix
        { 
            get { ...}  // propriété statique en lecture
            set { ... } // propriété statique en écriture 
        }
}

using System;

class ClassePrix
{
private Double prixTotal;
private Double tauxTVA = 1.196;

public virtual Double prix
{ // propriété dynamique de la classe mère
get 
{
return Math.Round(prixTotal); 
}
set 
{
prixTotal = value * tauxTVA; 
}
}
}
class ClasseNewPrix : ClassePrix
{
private Double prixLocal;
public new Double prix
{ // masquage de la propriété de la classe mère (avec new)
get 
{
return Math.Round(prixLocal); 
}
set 
{
prixLocal = value * 1.05; 
}
}
}

class Exercice
{
public static void Main(string[ ] args) // Méthode principale de lancement de l'exécution
{
ClassePrix Obj = new ClassePrix();
Double val = 100;
System.Console.WriteLine("Valeur entrée ClassePrix Obj :" + val);
Obj.prix = val;
val = Obj.prix;
System.Console.WriteLine("valeur arrondie (lue)ClassePrix Obj : " + val);
System.Console.WriteLine("--------------------------------------");
ClasseNewPrix Obj2 = new ClasseNewPrix();
val = 100;
System.Console.WriteLine("Valeur entrée ClasseNewPrix Obj2 :" + val);
Obj2.prix = val;
val = Obj2.prix;
System.Console.WriteLine("valeur arrondie (lue)ClasseNewPrix Obj2: " + val);
System.Console.ReadLine();
}
}



Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More