Dans l'article « De Hello World à l'orientation objet » du didacticiel Java de base, nous avons une compréhension préliminaire des objets. Les données membres d’un objet représentent l’état de l’objet. Les objets peuvent exécuter des méthodes qui représentent des actions spécifiques.
De plus, nous avons également appris les cours. Les objets de la même classe appartiennent au même type. Nous pouvons définir des classes et utiliser cette définition pour créer des objets.
Approfondissons les objets. Découvrez quelques détails sur les méthodes et les données membres en Java.
Appel de données membres du même objet
Les méthodes peuvent appeler les données membres de l’objet. Par exemple, ci-dessous, nous ajoutons une méthode getHeight() à la classe Human. Cette méthode renvoie la valeur du membre de données de hauteur :
Copiez le code comme suit :
Test de classe publique
{
public static void main (String[] arguments)
{
Humain aPerson = new Human();
System.out.println(aPerson.getHeight());
}
}
classeHumain
{/**
*accesseur
*/
int getHauteur()
{
renvoie this.height;
}
hauteur entière ;
}
Nous avons ajouté la méthode getHeight. Cette méthode a une valeur de retour de type int. Return est utilisé en Java pour renvoyer une valeur.
Notez ceci, qui est utilisé pour faire référence à l'objet lui-même. Lorsque nous créons une instance aPerson, cela représente l'objet aPerson. this.height fait référence à la taille d’une personne.
c'est un argument implicite. Lorsqu'une méthode est appelée, même si la liste des paramètres de la méthode ne l'inclut pas, Java transmettra "silencieusement" ce paramètre à la méthode.
(Il existe des méthodes spéciales qui ne transmettent pas cela implicitement, nous le verrons plus tard)
ce n'est pas obligatoire, la méthode ci-dessus peut s'écrire comme suit :
Copiez le code comme suit :
/**
*accesseur
*/
int getHauteur()
{
hauteur de retour ;
}
Java déterminera par lui-même que la hauteur est une donnée membre de la classe. Mais ce sera plus clair en utilisant ceci.
Nous avons également vu la méthode /** comments */ pour ajouter des commentaires.
liste des paramètres de méthode
Les définitions de méthodes en Java sont similaires aux fonctions du langage C. Les méthodes Java peuvent également recevoir une liste d'arguments (liste d'arguments) entre parenthèses après le nom de la méthode. Nous définissons ensuite une méthode growHeight(). La fonction de cette méthode est d'augmenter la taille d'une personne :
Copiez le code comme suit :
Test de classe publique
{
public static void main (String[] arguments)
{
Humain aPerson = new Human();
System.out.println(aPerson.getHeight());
aPerson.growHeight(10);
System.out.println(aPerson.getHeight());
}
}
classeHumain
{
/**
*accesseur
*/
int getHauteur()
{
renvoie this.height;
}
/**
* passer l'argument
*/
void growHeight(int h)
{
ceci.hauteur = ceci.hauteur + h;
}
hauteur entière ;
}
Dans growHeight(), h est le paramètre passé. Dans la définition de la classe, le type du paramètre (int) est indiqué. Dans une méthode spécifique, nous pouvons utiliser ce paramètre. Ce paramètre n'est valide que dans le cadre de cette méthode, c'est-à-dire growHeight().
Lors de l'appel, nous passons 10 à growHeight(). aLa taille d'une personne est augmentée de 10.
Appeler d'autres méthodes sur le même objet
A l’intérieur d’une méthode, d’autres méthodes du même objet peuvent être appelées. Lors de l'appel, utilisez la forme this.method(). Nous rappelons également que cela fait référence à l'objet. Donc this.method() fait référence à la méthode method() de l'objet lui-même.
Par exemple, la fonction repeatBreath() suivante :
Copiez le code comme suit :
Test de classe publique
{
public static void main (String[] arguments)
{
Humain aPerson = new Human();
aPerson.repeatBreath(10);
}
}
classeHumain
{
souffle vide()
{
System.out.println("hu...hu...");
}
/**
* appeler souffle()
*/
void repeatBreath (int rep)
{
int je;
pour(i = 0; i < rep; i++) {
this.souffle();
}
}
hauteur entière ;
}
Afin de faciliter le bouclage, dans la méthode repeatBreath(), nous déclarons un objet i de type int. La portée de i est limitée à la portée de la méthode repeatBreath().
(Ceci est similaire aux variables automatiques dans les fonctions du langage C)
Initialisation des membres de données
En Java, il existe de nombreuses façons d’initialiser les données membres. Par exemple, dans l'exemple getHeight() ci-dessus, bien que nous ne fournissions jamais de valeur pour la hauteur, Java choisit pour nous une valeur initiale par défaut de 0.
Valeurs initiales par défaut pour les données membres des types de base :
1. Type numérique : 0
2.Valeur booléenne : faux
3. Autres types : nul
Nous pouvons fournir la valeur initiale du membre de données lors de sa déclaration. C'est ce qu'on appelle l'initialisation explicite. La valeur d'initialisation de l'affichage doit être écrite en dur dans le programme :
Copiez le code comme suit :
Test de classe publique
{
public static void main (String[] arguments)
{
Humain aPerson = new Human();
System.out.println(aPerson.getHeight());
}
}
classeHumain
{/**
*accesseur
*/
int getHauteur()
{
renvoie this.height;
}
hauteur entière = 175 ;
}
Ici, la valeur initiale de la hauteur du membre de données est 175, et non la valeur par défaut 0.
Il existe d'autres façons d'initialiser des objets en Java, que je présenterai plus tard.
Résumer
retour
ceci, ce.champ, ceci.méthode()
Valeur initiale par défaut, initialisation explicite