RunUO-FR
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
RunUO-FR

Forum de support pour RunUO en français.
 
AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

 Classes, constructeurs, instances de classe

Aller en bas 
AuteurMessage
Gargouille




Messages : 97
Date d'inscription : 02/09/2008

Classes, constructeurs, instances de classe Empty
MessageSujet: Classes, constructeurs, instances de classe   Classes, constructeurs, instances de classe Icon_minipostedSam 6 Sep - 2:59

Le script d'une classe est un plan en quelque sorte, on l'appelle classe, ou objet.

Si ce plan était celui d'une maison, on pourrait à partir de lui construire des maisons. Ces maisons auraient le même plan, mais chacune une adresse différente, chacune une existance aussi. Car le plan, on ne l'appelle pas une maison.

Une instance de l'objet, une instance de la classe, c'est un exemplaire de cet objet.

Dans un monde UO dasn aucun spawner, sans monstres, on peut être sûrs qu'il n'y a aucune instance d'ettin. Pourtant le script existe, l'objet existe, c'est une classe.

Lorsque le GM fait .add ettin, il crée une instance de l'objet ettin, celle-ci aura un numéro, et sera enregistrée dans les saves.

Pour instancier une classe dans un script, il faut appeler une méthode définie dans cette classe: son constructeur d'instance.
Il s'agit d'une méthode qui est forcément public, qui prend le même nom que la classe elle même (chose que les méthodes ne peuvent pas faire) et qui ne déclare aucun type de retour, pas même void (chose que les méthodes ne peuvent pas faire).

Il peut y avoir plusieurs constructeurs différents, prenant donc des arguments différents, et cepour instancier l'objet de façon différente.

Par exemple, le plupart des Items on pour constructeurs d'instance :

Code:
public Banana() : this(1)
// et
public Banana(int amount)
{
Amount = amount;
}

Si on fait new Banana(); on apelle le premier constructeur, qui appelle le second (:this() ) en passant 1 pour argument.

Alors que si on fait new Banana(10); on appelera directement le second constructeur qui passera cette valeur à la propriété Amount.

Vous verrez un constructeur qui prend un Serial pour argument, c'est le constructeur de sérialisation (il donne le numéro sérial dont se servira le processus de sauvegarde...) Ne l'oubliez pas dans vos création.
Revenir en haut Aller en bas
 
Classes, constructeurs, instances de classe
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RunUO-FR :: Tutoriaux Scripts :: Tutoriaux C#-
Sauter vers: