Java Beginner Escape Boot Camp Partie 1 Structure et écriture des classes Java

Pour tous ceux qui ont commencé à étudier Java en tant que nouvel employé Je voudrais le mettre à jour de manière irrégulière.

Le thème cette fois est "Comment écrire une classe".

Forme de base de la classe

Le premier est la forme de base de la classe. À titre d'exemple, considérons une classe qui représente une «personne».


public class Person {

  /**Nom complet*/
  private String name;

  /**âge*/
  private int age;

  /**
   *constructeur
   * @nom du paramètre nom complet
   * @âge param
   */
  public Person(String name, int age) {
    this.name = name;
    this.age = age;
  }
  
  /** 
   *Obtenir de l'âge
   */
  public int getAge() {
    return this.age;
  }

  /**
   *Obtenez un an
   */
  public void countUpAge() {
    this.age++;
  }

  /**
   *Auto-introduction
   */
  public void introduction() {
    System.out.println("Bonjour, je" + this.name + ", " + this.age + "Je suis vieux.");
  }
}

Éléments qui composent la classe

Non limité aux classes introduites cette fois Les classes sont à peu près divisées en trois sections.


nom de classe publique{
  
champ

constructeur

Méthode

}

champ

Dans la classe Person, il fait référence aux parties suivantes.

  /**Nom complet*/
  private String name;

  /**âge*/
  private int age;

Les champs sont des ** variables ** qui peuvent être utilisées n'importe où dans la classe. En d'autres termes, vous pouvez faire référence à la même variable à partir de différentes méthodes au sein de la même classe.

constructeur

Dans la classe Person, il fait référence à la partie suivante.

  /**
   *constructeur
   * @nom du paramètre nom complet
   * @âge param
   */
  public Person(String name, int age) {
    this.name = name;
    this.age = age;
  }

Au fait, lors de l'initialisation de cette classe Person, le code sera le suivant.

Person person = new Person("Taro", 10);

De cette façon, le constructeur est utilisé pour effectuer certaines actions au début.

Lors de l'initialisation d'un objet, le constructeur est toujours appelé, donc Il est souvent utilisé pour définir des valeurs de champ.

Méthode

Dans la classe Person, il fait référence à la partie suivante.


  /** 
   *Obtenir de l'âge
   */
  public int getAge() {
    return this.age;
  }

  /**
   *Obtenez un an
   */
  public void countUpAge() {
    this.age++;
  }

  /**
   *Auto-introduction
   */
  public void introduction() {
    System.out.println("Bonjour, je" + this.name + ", " + this.age + "Je suis vieux.");
  }

La méthode décrit le processus à exécuter.

Méthode Kihon

La méthode est utilisée pour assembler un processus.

Vous pouvez mettre tout le traitement ensemble, Il est plus facile pour les gens de voir si vous divisez chaque procédure séparément.

Vous pouvez donner un nom à la méthode, donc Il est important de bien les répartir selon le but et les variables à traiter.

Écriture de base

La forme de base de la méthode est la suivante.

Qualificateur d'accès Type de retour Nom de la méthode(Argument 1,Argument 2, ...) {

En traitement

return Valeur de retour;
}

Vous souvenez-vous avoir entendu le mot «fonction» pendant le temps des mathématiques?

f(x) = x + 1

Si cela est converti en une méthode Java, la description sera la suivante.

public void func(x) {
  return x + 1;
}

Les deux sont "retour en ajoutant 1 à l'argument x".

En fait, «méthodes» et «fonctions» sont très proches les unes des autres et désignent à peu près la même chose. Par exemple, en langage C, la description suivante est appelée une fonction.

int func(x) {
  return x + 1;
}

Dans les langages de pensée objet tels que Java, la description d'une fonction décrite dans une classe est appelée une méthode.

Je voudrais expliquer la différence exacte entre les fonctions et les méthodes à un autre moment.

Modificateur d'accès

Le modificateur d'accès définit la mesure dans laquelle le champ ou la méthode est accessible. Il est spécifié comme public ou privé.

Si public est donné, il sera accessible de l'extérieur de la classe, Avec prvate, vous ne pouvez y accéder qu'à partir de cette classe.

Valeur de retour

À titre d'exemple, dans le cas suivant, une méthode appelée ** getAge ** qui renvoie ** int (valeur numérique) ** est définie.

public int getAge() {
  return this.age;
}

En spécifiant le type de cette valeur de retour, l'appelant de cette méthode est Vous pouvez reconnaître que "cette méthode renvoie un type int".

//Vous pouvez avoir l'âge d'une personne comme celle-ci
int himAge = person.getAge();

//Cela entraînera une incompatibilité de type et une erreur
String himAge = person.getAge();

S'il n'y a pas de valeur de retour

S'il n'y a pas de valeur de retour, définissez le caractère "void" dans la partie valeur de retour. void signifie "vide / rien".

Si void est spécifié pour la valeur de retour, aucune valeur n'est renvoyée, il n'est donc pas nécessaire de décrire return.

  /**
   *Obtenez un an
   */
  public void countUpAge() {
    this.age++; 
    //Vous pouvez omettre le «retour» qui devrait être ici.
  }

Arguments et surcharge

Maintenant, ajoutons la "méthode pour définir le nom".

Les prénoms incluent les prénoms et les noms, et parfois les prénoms. Créons une méthode de définition de nom correspondant à chacun.

/**
 *Méthode de prise en charge du prénom et du nom
 * @param lastName Nom
 * @param firstName prénom
 */
public void setName(String lastName, String firstName) {
  this.name = lastName + " " + firstName;
}

/**
 *Méthode pour le deuxième prénom
 * @param lastName Nom
 * @param firstName prénom
 * @param middleName deuxième prénom
 */
public void setName(String lastName, String firstName, String middleName) {
  this.name = firstName + "・" + middleName + "・" + lastName;
}

Maintenant, faisons chacun de ces.

person.setName("Sato", "Taro");
// ->«Taro Sato»

person.setName("Sato", "Christina", "Taro");
// ->«Taro, Christina, Sato»

De cette façon, vous pouvez faire différentes choses avec la même méthode nommée "setName".

Ceci est appelé ** "surcharge de méthode" **.

La surcharge peut être utilisée lorsque vous avez plusieurs arguments dans le même but.

à la fin

Je pense qu'il y a pas mal de gens qui disent: «Je ne comprends pas parce qu'il y a tellement de choses dans la classe».

Cependant, il n'y a pas beaucoup de règles à retenir.

Le code source sera plus facile à lire simplement en le divisant en trois éléments introduits cette fois.

Sans essayer de tout lire d'un coup N'est-ce pas le premier pas vers la compréhension de penser séparément petit à petit?

Recommended Posts

Java Beginner Escape Boot Camp Partie 1 Structure et écriture des classes Java
Java Beginner Escape Boot Camp Partie 2 Comprendre les classes Java et l'encapsulation
[Java] Comment sortir et écrire des fichiers!
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
[Java] Comment utiliser la classe Calendar et la classe Date
[Java] Types de commentaires et comment les rédiger
Comment utiliser la classe Java
Comment appeler et utiliser l'API en Java (Spring Boot)
Comment écrire et noter lors de la migration de VB vers JAVA
Comment désassembler un fichier de classe Java
Comment décompiler un fichier de classe Java
Comment écrire une déclaration de variable Java
Comment utiliser les méthodes de classe [Java]
[Java] Comment utiliser la classe Math
Bases du développement Java ~ Comment écrire des programmes (variables et types) ~
Kotlin's Class part.2 à envoyer aux développeurs Java
[Java] Comment utiliser la classe File
[Introduction à Java] Comment écrire un programme Java
[Traitement × Java] Comment utiliser la classe
Comment utiliser la classe Java Scanner (Remarque)
[Java] Comment utiliser la classe Calendar
Promesse JDBC et exemple d'écriture
Bases du développement Java ~ Comment écrire un programme (flux et branchement conditionnel) ~
Bases du développement Java ~ Comment écrire des programmes * Exercice 1 ~
Comment obtenir une classe depuis Element en Java
Comment convertir un contrat de solidité en une classe de contrat Java
Comment obtenir et étudier Java SE8 Gold
[Java] Mémo sur la façon d'écrire la source
Comment écrire Java String # getBytes dans Kotlin?
Comment accéder aux méthodes et champs Java Private
Comment écrire Scala du point de vue de Java
Comment écrire un test unitaire pour Spring Boot 2
java: Comment écrire une liste de types génériques [Note]
Ecrire une classe en Kotlin et l'appeler en Java
Comment lire la gestion de la mémoire Java et GC Viewer
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment créer et exécuter des objets de classe Méthode, Proc, Méthode
Comment écrire du Java moderne. Immuable Java, Null Considérez la sécurité.
Comment utiliser et appliquer la classe JFrame / Canvas de Java
Comment écrire des rails
Comment écrire docker-compose
Comment écrire Mockito
Classe et instant part2
Comment écrire un fichier de migration
Programmation Java (structure de classe)
Comment écrire des commentaires dans le fichier de définition de schéma dans GraphQL Java et les refléter dans GraphiQL et GraphQL Playground
Comment obtenir le nom d'une classe / méthode exécutée en Java
Branchement conditionnel Java: comment créer et étudier des instructions de commutation
Différence entre Java et JavaScript (comment trouver la moyenne)
Qu'est-ce que la classe LocalDateTime? [Java débutant] -Date et classe d'heure-
[Java] Définit la structure de la classe de collection (à propos de HashSet et TreeSet)
Comparaison de l'écriture des fonctions de rappel (Java, JavaScript, Ruby)
[Traitement × Java] Comment utiliser la boucle 2 --- structure imbriquée, conversion de coordonnées
Que s'est-il passé dans «Java 8 to Java 11» et comment créer un environnement