meilleure façon de faire une classe hérite de constructeurs (C#)
Ouais, désolé de demander une stupide question de n00b. Donc, j'ai un programme C#. J'ai une classe
class foo
{
public int bar, wee, someotherint, someyetanotherint;
public foo()
{
this.bar = 1:
this.wee = 12;
this.someotherint = 1231;
this.someyetanotherint = 443;
}
}
Et je veux faire une classe appelée la rate qui hérite de foo
class spleen : foo
{
}
Quel est le moyen le plus rapide et le plus facile de la syntaxe pour faire la classe rate hériter du constructeur de foo sans avoir à copier/coller l'intégralité du constructeur de foo? Je ne veux pas entendre que j'ai déjà trop de paramètres. Je sais déjà que. (edit: en Fait, non. Je suis un idiot) je sais que je devrais probablement quelque sorte appeler le constructeur parent, mais je ne sais pas comment. Comment dois-je faire.
Edit: je me rends compte maintenant que j'aurais dû prendre plus de temps pour écrire à ma question. On dirait que j'essayais de poser deux questions en même temps sans s'en rendre compte (comment hériter des constructeurs sans paramètres, et comment hériter des constructeurs avec paramètres) , et d'une certaine manière confuse de tous. Cependant, les réponses fournies ont été très utile et a résolu mon problème. Merci, et désolé d'être un tel idiot!
Notez également que le 'foo' un constructeur dans votre question n'a pas de paramètres. Sans paramètre constructeurs et le chaînage entre eux, vous obtenez 'libre' en C#, donc comme écrit dans votre question, la "rate" est exactement ce que vous voulez.
Pourquoi dites-vous que vous avez "trop de paramètres"? Après votre modification, vous n'avez pas tous les paramètres. (À ce point, vous n'avez pas besoin de faire quelque chose pour la rate. Le code vous montrer compile très bien et fonctionne comme prévu.)
BTW, l' .NET convention de nom des classes en PascalCase, donc si vous voulez que votre code s'adapter à d'autres', vous pouvez tirer parti de votre classe de noms.
OriginalL'auteur | 2009-06-06
Vous devez vous connecter pour publier un commentaire.
Ce que vous êtes à la recherche pour le mot clé base. Vous pouvez l'utiliser pour appeler le constructeur de base et de fournir les arguments nécessaires.
Essayez les solutions suivantes. J'ai pris 0 comme valeur par défaut pour faute de mieux, l'option
MODIFIER
En fonction de votre nouvelle version du code, de la façon la plus simple d'appeler le constructeur est, assez littéralement, ne rien faire. Le constructeur par défaut généré pour la rate appeler automatiquement la base de constructeur vide de foo.
OriginalL'auteur JaredPar
Que vous venez de créer, et d'appeler le constructeur de base:
OriginalL'auteur Reed Copsey
JaredPar est juste, mais à côté de quelque chose et je n'ai pas assez de rep pour le modifier.
Si vous parent de la classe a pris en paramètre dans le constructeur, alors il serait
Ouais j'ai juste regardé les révisions et vous l'avez fait la première fois.
et vous obtenez jusqu'mon vote.
OriginalL'auteur Kyle Sonaty
Faire le constructeur protégé:
//stuff
ainsi de suite et ainsi de suite
EDIT: en Supposant qu'ils ont le même constructeur...
Soit sont acceptables, j'ai présenté l'une des options...
OriginalL'auteur Knowles Atchison