מילת המפתח סופר משמשת במצבים שונים. לפני שתתחיל עם פוסט זה, אנו ממליצים לך ללמוד על ירושה ב-Java להבנה טובה יותר.
מהי מילת המפתח העל ב-Java?
סופר היא מילת מפתח שניתן להשתמש בה כדי להפעיל שיטות נדחקות של מחלקת העל, כמו גם להתייחס לשדות נסתרים של מחלקת העל.מדוע ומתי להשתמש במילת מפתח העל?
למילת מפתח העל של Java יש שלושה שימושים מפורשים.- גש לחברי הנתונים של מחלקת האב כאשר לכיתה הבת יש גם חברי נתונים באותו שם.
- קרא לבנאי ברירת המחדל או הפרמטרים של מחלקת האב במחלקת הילד.
- קרא לשיטות כיתת האב בכיתת הילד אם לילד דרס שיטות.
דוגמה 1 - גישה לחברי הנתונים של ההורה
דוגמה 1 ממחישה כיצד ניתן לגשת לתכונות או לנתונים של חברי מחלקת הרכב במחלקת הילד מסוג רכב . ודא שאתה מפעיל את הקטע למטה כדי להבין היטב.class Vehicle {
String name = "vehicle";
}
class Car extends Vehicle {
String name = "car";
public void printMyName() {
System.out.println(name);
}
public void printParentName() {
// use super keyword to access
// parent's data member / attribute
System.out.println(super.name);
}
public static void main(String[] args) {
Car myCar = new Car();
System.out.print("My Car's Name: ");
myCar.printMyName();
// printing the parent's name
// using the super keyword
System.out.print("My Parent Vehicle's Name: ");
myCar.printParentName();
}
}
תְפוּקָה
שם המכונית שלי: מכונית שם הרכב ההורה שלי: רכב
דוגמה 2 - גישה לבנאים של ההורה בכיתת ילד
קריאה מפורשת ל- super() מאפשרת לך לגשת גם לבנאי ברירת המחדל או הפרמטרים של מחלקת האב במחלקת הילד. הנה דוגמה של הבנאי בעל הפרמטרים. הבנאי של מחלקת האב כלומר Shape נקרא (באמצעות super() ) במחלקה הילד כלומר Triangle כדי להגדיר את התכונות. הפעל את התוכנית למטה כדי לבדוק את הפלט בעצמך.public class Shape {
String name;
public Shape(String n) {
System.out.println("Shape() parameterized constructor called!");
name = n;
}
}
class Triangle extends Shape {
int sides = 3;
String color;
public Triangle(String n, String c) {
// The super keyword calls the parameterized
// constructor of the parent (Shape) with
// 'n' as a parameter
super(n);
System.out.println("Triangle() parameterized constructor called!");
this.color = c;
}
public static void main(String[] args) {
Triangle myTriangle = new Triangle("Triangle Alpha", "Yellow");
System.out.println(myTriangle.name);
System.out.println(myTriangle.color);
}
}
תְפוּקָה
בנאי עם פרמטר של Shape() נקרא! בנאי עם פרמטר משולש () נקרא! משולש אלפא צהוב
אתגר מהיר : עצב מחדש את התוכנית לעיל על ידי שימוש בבנאי ברירת המחדל כדי לבדוק את הלמידה שלך. כמו כן, ראה כיצד סופר() שונה מסופר(ארג) .
דוגמה 3 - גישה למתודה הנעקפת של ההורה בכיתת ילד
דוגמה 3 מראה כיצד ניתן לגשת לשיטות של כיתת ההורים שגם כיתת הילד מגדירה. מחלקת האב Sound בתוכנית למטה מגדירה מתודה voice() . לכיתה הילדית Drum יש גם שיטה עם אותו שם כלומר voice() . זה אומר שקול השיטה מוחלף על ידי תת המחלקה. הפעל את התוכנית למטה כדי ללמוד כיצד מילת המפתח העל נחוצה כדי להשתמש בשיטות של כיתת האב בכיתת הילד.public class Sound {
public void voice() {
System.out.println("Play sound!");
}
}
class Drum extends Sound {
public void voice() {
System.out.println("Play drums!");
}
public void play() {
// The super keyword calls the
// voice() method of the parent
super.voice();
voice();
}
public static void main(String[] args) {
Drum myDrum = new Drum();
myDrum.play();
}
}
תְפוּקָה
בנאי עם פרמטר של Shape() נקרא! בנאי עם פרמטר משולש () נקרא! משולש אלפא צהוב
GO TO FULL VERSION