Lors de l'écriture d'un champ d'instance avec "privé" Puisqu'il peut être manqué par le getter et qu'une erreur s'est produite Soyez prudent d'écrire dans une habitude.
printData -Même s'il n'y a aucune instruction, vous pouvez créer une méthode d'instance pour la sortie de vous-même. Être capable d'écrire. Je veux garder à l'esprit le style d'écriture qui est facile à voir pour tout le monde.
-Après avoir écrit en privé, au lieu de sortir dans Main.java Lors du regroupement de la sortie avec printData, elle est dans la même classe, donc au lieu de getName etc. Si vous l'écrivez avec this.name etc., vous pouvez l'écrire de manière concise, alors souvenez-vous-en.
J'avais l'habitude d'utiliser deux classes dans les exercices jusqu'à présent Il y a eu une duplication de code dans la classe. La duplication doit être évitée car elle sera difficile à corriger et à améliorer.
A ce moment, une méthode d'héritage du contenu d'une classe peut être utilisée. C'est ce qu'on appelle l'héritage.
La classe d'origine est appelée "super classe" La classe héritée est appelée une "sous-classe".
Lors de la première définition dans une sous-classe
nom de sous-classe de classe étend le nom de superclasse{...
Écrivez sous la forme de.
class Vehicle{
...
public void setName(String name){...
}
public void setColor(String color){...
}
}
//Main.En java
class Main{
public static void main(String[]args){
Car car = new Car();
car.setName("Ferrari");
car.setColor("rouge");
...
}
}
Lorsque vous appelez réellement une méthode, écrivez comme ci-dessus. (Un cas)
Le carburant de la classe de voiture utilisé jusqu'à présent n'est pas dans d'autres classes Puisqu'il s'agit d'un produit unique, il doit être personnalisé dans la catégorie Car.
class Car extends Vehicle{
private int fuel = 50;
public int getFuel(){
return this.fuel;
}
Lorsque vous l'appelez, appelez-le avec car.getFuel ();. (J'obtiens une erreur avec vehicle.getFuel ();)
super() Comment appeler un constructeur de superclasse dans une sous-classe [Exemple 1]
//Super classe
class Vehicle{
Vehicle(){
System.out.println("Super classe");
}
//Classe de voiture
class Car extends Vehicle{
Car(){
super();
}
}
//Classe principale
class Main{
public static void main(String[]args){
Car car = new Car();
...
}
}
Dans ce qui précède, la sortie sera "super classe". [Exemple 2]
//Tout d'abord, définissez le constructeur dans la super classe.
class Vehicle{
private String name; ...
Vehicle(String name,String color){
this.name = name;
this.color = color;
}
//Appelez le constructeur de classe Car / constructeur de classe Super
class Car extends Vehicle{
Car(String name,String color){
super(name,color); //N'oubliez pas de passer l'argument.
}
}
protected Lors de l'utilisation de super classes et sous-classes Pour les champs qui utilisent private comme avant L'accès à partir des sous-classes ne peut pas être effectué tel quel. J'utilisais des getters et des setters, mais quand j'utilise [protected] Permet l'accès depuis les sous-classes et au sein de la classe.
・ Public → Accessible de n'importe où ・ Privé → Accessible uniquement à partir de cette classe ・ Protégé → accessible depuis la classe et la sous-classe
Jusqu'à présent, les sous-classes de voitures et de vélos de la super classe des véhicules Je l'ai résumé, mais quand il y a des méthodes avec des contenus différents (par exemple, run class) Utilisez des méthodes abstraites.
class Vehicle{ ..
abstract public void run(int distance);
//Définissez ici une méthode abstraite. Je n'écrirai pas le traitement après ça!
Après cela, un écrasement est requis dans chaque sous-classe.
Je n'écris pas vraiment de méthodes abstraites, donc j'ai l'impression de ne pas comprendre grand-chose. Je voudrais faire un examen complet de Java une fois et le créer sous forme de page. Pour diverses raisons, il est préférable de toucher PHP le plus tôt possible, alors avant cela, passons à l'apprentissage de PHP.
Recommended Posts