Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
960 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Jcroyais que c'était possible

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Jcroyais que c'était possible

n°232808
looping94
Posté le 23-10-2002 à 11:00:29  profilanswer
 

Jcroyais que c'était possible de définir en C# des membres en virtual dans un héritage, mais la compil me dit que virtual et override sont invalides pour ces éléments :
---------
exemple :
abstract class A
{
virtual int g;
public Getg( return g;)
 
}
class B : A
{
override int g;
public B {g=2};
}
class C : A
{
override int g;
public C {g=3};
}
 
class B = new B();
int resultat = B.Getg();
---------
 
Y a t'il moyen de parvenir à cela ?  
 

mood
Publicité
Posté le 23-10-2002 à 11:00:29  profilanswer
 

n°232814
El_gringo
Posté le 23-10-2002 à 11:13:01  profilanswer
 

...surcharger un attribut ? quel intéret ? il est le même tout le temps !
On surcharge des méthodes, pas des attributs (cela dit je ne connais pas C#)

n°232821
looping94
Posté le 23-10-2002 à 11:24:51  profilanswer
 

bah comme tu le vois dans l'exemple l'attribut change de valeur en fonction de la sous-classe.
 
Ce que je veux faire c'est écrire uniquement dans la super-classe une fonction Get qui me retourne cet attribue (dont la valeur varie en fonction de la sous-classe). Ca m'éviterait de retaper une fonction Get dans chaque sous-classes qui retourne un attribut spécifique de chaque class.
 
Si malheureusement c'est le cas, je n'aurait réélement besoin d'héritage.

n°232946
El_gringo
Posté le 23-10-2002 à 14:25:44  profilanswer
 

Mais... "surcharges" pas "g"...
Tes classes B et C héritent de A : elles ont accès à g
Vires ces "override int g; "
dans tes classes B et C, et ça marchera très bien !

n°232958
looping94
Posté le 23-10-2002 à 14:39:07  profilanswer
 

Oups! Ta remarque ma fais réfléchir
 
J'ai pas fais gaffe mais j'ai oublié d'écrire que l'attribut était static d'où ma difficulté à ce que la fonction Get de ma super classe puisse lire les valeurs de l'attribut que je redéfinissait une nouvelle fois en static dans la sous classe pour lui attribuer une nouvelle valeur.
 
j'ai trouvé la sol, effectivement pas besoin de surcharge, juste attribué la valeur de l'attribut static dans un constructeur static de le sous classe.
 
Ya des jours où je me demande si jsuis pas bourré..

n°232973
El_gringo
Posté le 23-10-2002 à 14:52:40  profilanswer
 

looping94 a écrit a écrit :

 
j'ai trouvé la sol, effectivement pas besoin de surcharge, juste attribué la valeur de l'attribut static dans un constructeur static de le sous classe.




 
T'as trouvé la sol... bah voyons ! :sarcastic:

n°232980
looping94
Posté le 23-10-2002 à 14:59:12  profilanswer
 

Bon je reformule : ta forte contribution et tes remarques m'on aiguillés vers la bonne voie et m'a permis de mieux réfléchir.
 
Gracias el_gringo :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Jcroyais que c'était possible

 

Sujets relatifs
Detruire un tablo, ou le vider en Javascript c'est possibleliste d'objets d'une class , est ce possible ???
Bonjour .. possible de créer une variable globale entre 2 scripts PHP?Faire un script qui ferme un pop-up automatiquement .... possible ?
[PHP + MySQL] C'est possible de faire un site mirroir ?Est il possible d'acceder a des pages importantes
[C] enregistrement dans un repertoire non defini d'avance possible?[VBA] Possible de recuperer du telnet sous Excel en temps reel ?
[JAVASCRIPT] envoyer un mail en javascript, c possible ???[PHP] grrrr c pas possible !
Plus de sujets relatifs à : Jcroyais que c'était possible


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR