[Anfänger] Java objektorientiert / Instanzfeld / Instanzmethode / Überladung [Anmerkung 24]

Objektorientierung

Eine Ausrichtung, die vorhanden ist, damit Programme einfach zusammengestellt und geändert werden können. Ein Formular, mit dem sich jede Person so vorstellt, als wäre sie im Programm.

Objekt (Alias: Instanz)

Es kann in Informationen und Verhalten unterteilt werden. Die Arten von Informationen umfassen Name und Alter. Die Verhaltensweisen umfassen Hallo und Gehen.

Klasse (Teil, der Methoden organisiert)

Bedeutet die Entwurfszeichnung der Instanz.

Beispiel

Beim Erstellen einer Instanz wird diese grundsätzlich einer Variablen zugewiesen. "Klassentyp Variablenname = neuer Klassenname ();"

Instanzfeld

Eine Variable, die Informationen speichert. Grundsätzlich an der Spitze der Klasse definiert.

class Person{
 public String name;
}

Um anzurufen

/*<Main.java>Beim*/
...
Person person1 = new Person();
person1.name = "Suzuki";

System.out.println(person1.name);

Instanzmethode

Als allgemeine Definitionsmethode ↓

class Person {
 public void hello(){   //Seien Sie vorsichtig, da "statisch" nicht verwendet wird
  System.out.println("Hallo");
 }
}

Um anzurufen

/*<Main.java>Beim*/
Person person1 = new Person();
Person person2 = new Person();
person1.hello();
person2.hello();
/*Beachten Sie, dass es erst aufgerufen werden kann, nachdem die Instanz erstellt wurde!*/

Wie man das benutzt

Mit diesem Variablennamen kann er als Variable dieser Klasse angegeben werden. [Beispiel]

class Person{
 public String name;
 public void hello(){
  System.out.println ("Hallo"+ this.name + "ist");
/*Hier wird es durch das folgende "Suzuki" ↑ ersetzt*/
 }
}
/*<Main.java>Beim*/
Person person = new Person();
person.name = "Suzuki";
person.hello(); //← Ausgabe hier!

Konstrukteur

Eine Methode, die automatisch aufgerufen wird, nachdem eine Instanz mit new erstellt wurde. Seien Sie vorsichtig, da die folgenden Regeln als Definitionen gelten. <1> Der Konstruktorname hat denselben Klassennamen <2> Schreiben Sie nicht den Rückgabewert! (auch nichtig)

class Person{
 public String name;
 Person (String name){
/*↑ Konstruktorname*/
  this.name = name;
 }
}

So rufen Sie ↓ an

/*<Main.java>Beim*/
Person person = new Person("Suzuki");
System.out.println(person.name);

Schreiben Sie eine Selbsteinführung

class Person{ /*Zuerst oben in der Klasse definiert*/
 public String firstName;
 public String lastName;
 public int age;
 public double height;
 public double weight;

/*Definieren Sie im Konstruktor mehrere und achten Sie darauf, dass Sie keinen Fehler in der Reihenfolge machen!*/
 Person(String firstName,String lastName,int age, double height, double weight){
  this.firstName = firstName;
  this.lastName = lastName;
  this.age = age;
  this.height = height;  
  this.weight = weight;
 }

 public String fullName(){
  return this.firstName + " " + this.lastName;
 }

 public double bmi(){
  return this.weight/this.height/this.height;
 }

/*Definieren Sie printData für die Ausgabe! !! ↓*/
 public void printData(){
  System.out.println("mein Name ist"+this.fullName()+"ist");
  System.out.println("Alter ist"+this.age+"ich bin alt");
  System.out.println("BMI"+Math.round(this.bmi())+"ist");
 }/*Nach fullName und bmi()Vergiss nicht! / Mathematik.rund ist zum runden*/
}
 

Rufen Sie ↓ an

/*<Main.java>Beim*/
...
Person person1=new Person("Kate","Jones",27,1.6,50.0);
person1.printData();
...

Überlast

Die Überlastung bedeutet hier Wenn Person1 keinen zweiten Vornamen und Person2 einen zweiten Vornamen hat Es kann gelöst werden, indem zwei Konstruktoren definiert werden. [Beispiel]

class Person{
 //...Abkürzung
 public String middleName; //Plus, wo das Instanzfeld definiert ist.

 Person(String firstName,String lastName, ...); //Erstes Muster
 //...* Ausgelassen
 Person(String firstName,String middleName,String lastName, ...); //Zweites Muster
 //...* Ausgelassen

Das obige "* weggelassen" ist fast doppelt vorhanden, daher sollte das zweite weggelassen werden.

...
 this(firstName,lastName,...weight); //Rufen Sie hier andere Konstruktoren auf
 this.middleName = middleName; //Schreiben Sie hier, was Sie hinzufügen möchten

Rückblick und Vorsicht

・ Weil es schwierig ist zu entscheiden, ob (() hinzugefügt werden soll oder nicht. Ich werde schreiben, während ich sorgfältig überprüfe. ・ Im vorherigen Artikel erhielt ich Ratschläge zur Verwendung von Leerzeichen und Einrückungen. Ich wollte mich daran gewöhnen.

Recommended Posts

[Anfänger] Java objektorientiert / Instanzfeld / Instanzmethode / Überladung [Anmerkung 24]
[Anfänger] Java-Klassenfeldmethode / Kapselung (Getter-Setter) [Anmerkung 25]
[Anfänger] Java-Methode / Klasse / externe Bibliothek [Anmerkung 23]
[Java] Instanzmethode, Instanzfeld, Klassenmethode, Klassenfeld, Konstruktorzusammenfassung
Muskel Java Objektorientierter Tag 1
Java, Instanz für Anfänger
Muskel Java Objektorientierter Tag 2 ~ Vererbung ~
[Java] Objektorientierte Syntaxklasse / Feld / Methode / Bereich
[Java-Anfänger] == Operator und Gleiche Methode
Java, Überlastungskonstruktor ab Anfänger
[Technischer Hinweis] Was ist objektorientiert?
Java-Anfänger-Entwurfsmuster (Factory-Methodenmuster)
Java-Methode
Java (Methode)
[Anfänger] Punkte, auf die Sie nach Java-Übungen / Vererbung / abstrakte Methode achten sollten [Anmerkung 26]
Java Anfänger 3
[Java] Überladung
Java Anfänger
Java-Methode
[Java] -Methode
[Java] -Methode
[Java SE 11 Silver] Zusammenfassung der Arrays-Klassenmethoden [Java-Anfänger]
Java ab Anfänger, Klassendeklaration / Objekterzeugung
[Java-Anfänger] println-Methode ohne Angabe des Sammlungstyps