[Anfänger] Punkte, auf die Sie nach Java-Übungen / Vererbung / abstrakte Methode achten sollten [Anmerkung 26]

Java-Praxis (objektorientiert)

Verkapselung

Beim Schreiben eines Instanzfeldes mit "privat" Da es vom Getter übersehen werden kann und ein Fehler aufgetreten ist Sei vorsichtig, wenn du es dir zur Gewohnheit machst.

printData

Java lernen

Erbe

Bisher habe ich in den Übungen zwei Klassen verwendet In der Klasse gab es einige Codeduplikationen. Doppelarbeit sollte vermieden werden, da es schwierig ist, sie zu korrigieren und zu verbessern.

Zu diesem Zeitpunkt kann eine Methode zum Erben des Inhalts einer Klasse angewendet werden. Dies nennt man Vererbung.

Die ursprüngliche Klasse heißt "Superklasse" Die geerbte Klasse wird als "Unterklasse" bezeichnet.

Wie man erbt

Beim ersten Definieren in einer Unterklasse

Der Name der Klassenunterklasse erweitert den Namen der Oberklasse{...

Schreiben Sie in Form von.

class Vehicle{
 ...
 public void setName(String name){...
 }
 public void setColor(String color){...
 }
}

//Main.In Java
class Main{
 public static void main(String[]args){
  Car car = new Car();
  car.setName("Ferrari");
  car.setColor("rot");
...
}
}

Wenn Sie tatsächlich eine Methode aufrufen, schreiben Sie wie oben. (Ein Fall)

Unterklassen anpassen

Der bisher verwendete Kraftstoff der Fahrzeugklasse gehört nicht zu anderen Klassen Da es sich um ein einzigartiges Produkt handelt, muss es in der Fahrzeugklasse angepasst werden.

class Car extends Vehicle{
 private int fuel = 50;
 public int getFuel(){
  return this.fuel;
 }

Wenn Sie es tatsächlich aufrufen, rufen Sie es mit car.getFuel () auf. (Ich erhalte eine Fehlermeldung mit Vehicle.getFuel ();)

super() So rufen Sie einen Superklassenkonstruktor in einer Unterklasse auf [Beispiel 1]

//Super Klasse
class Vehicle{
 Vehicle(){
  System.out.println("Super Klasse");
 }

//Autoklasse
class Car extends Vehicle{
 Car(){
 super();
 }
}

//Hauptklasse
class Main{
 public static void main(String[]args){
  Car car = new Car();
  ...
 }
}

Oben ist die Ausgabe "Superklasse". [Beispiel 2]

//Definieren Sie zunächst den Konstruktor in der Superklasse.
class Vehicle{
 private String name; ...

 Vehicle(String name,String color){
  this.name = name;
  this.color = color;
 }

//Rufen Sie den Konstruktor der Klassenklasse / Konstruktor der Superklasse auf
class Car extends Vehicle{
 Car(String name,String color){
  super(name,color); //Vergessen Sie nicht, das Argument weiterzugeben.
 }
}

protected Bei Verwendung von Superklassen und Unterklassen Für Felder, die wie zuvor privat verwenden Der Zugriff von Unterklassen kann nicht so erfolgen, wie er ist. Früher habe ich Getter und Setter verwendet, aber wenn ich [protected] verwende Ermöglicht den Zugriff von Unterklassen und innerhalb der Klasse.

・ Öffentlich → Von überall aus zugänglich ・ Privat → Nur von dieser Klasse aus zugänglich ・ Geschützt → Zugriff von Klasse und Unterklasse

Abstrakte Methode

Bisher Unterklassen von Autos und Fahrrädern in der Superklasse der Fahrzeuge Ich habe es zusammengefasst, aber wenn es Methoden mit unterschiedlichen Inhalten gibt (zum Beispiel run class) Verwenden Sie abstrakte Methoden.

class Vehicle{ ..
 abstract public void run(int distance);
//Definieren Sie hier eine abstrakte Methode. Ich werde die Bearbeitung danach nicht mehr schreiben!

Danach ist in jeder Unterklasse ein Überschreiben erforderlich.

von jetzt an

Ich schreibe eigentlich keine abstrakten Methoden, deshalb habe ich das Gefühl, dass ich nicht viel verstehe. Ich möchte Java einmal umfassend überprüfen und als Seite erstellen. Aus verschiedenen Gründen ist es besser, PHP so schnell wie möglich zu berühren. Lassen Sie uns vorher mit dem Erlernen von PHP fortfahren.

Recommended Posts

[Anfänger] Punkte, auf die Sie nach Java-Übungen / Vererbung / abstrakte Methode achten sollten [Anmerkung 26]
Dinge, die Sie beim Schreiben von Java beachten sollten
[Java] Dinge, die Sie bei der Ausgabe von FizzBuzz beachten sollten
[Java Silver] Hinweise zu switch-Anweisungen
Dinge, die Sie beim Schreiben von Code in Java beachten sollten
[Java] Mit Arrays.asList () zu beachtende Punkte
Um auf einfach zu lesenden Code zu achten
[Anfänger] Java-Methode / Klasse / externe Bibliothek [Anmerkung 23]
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
[Java] Kurzschlüsse beachten (Kurzschlussauswertung)
Java Servlet sollte die Multithread-Umgebung kennen
Übungen für Java-Anfänger
[Anfänger] Java-Klassenfeldmethode / Kapselung (Getter-Setter) [Anmerkung 25]
Grundregeln zum Schreiben von einfach zu lesendem Code
[Anfänger] Java objektorientiert / Instanzfeld / Instanzmethode / Überladung [Anmerkung 24]
Java abstrakter Modifikator [Hinweis]
Einstellungsmethode zum Verknüpfen von Java von Eclipse und Github / September 2017
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
[Java-Anfänger] Konvertierung von Zeichenfolge in numerischen Wert - Was ist die parseInt-Methode der Integer-Klasse? ~