הבדל בין זה לסופר ב-Java

תוכן עניינים:

הבדל בין זה לסופר ב-Java
הבדל בין זה לסופר ב-Java

וִידֵאוֹ: הבדל בין זה לסופר ב-Java

וִידֵאוֹ: הבדל בין זה לסופר ב-Java
וִידֵאוֹ: הסבר להבדל בין function ל-method ב-java 2024, יולי
Anonim

הבדל מפתח - זה לעומת סופר ב-Java

מילות המפתח 'זה' ו-'סופר' משמשות בתכנות Java. לא ניתן להשתמש במילות מפתח אלו כמשתנים או כל שם מזהה אחר. Java תומכת בתכנות מונחה עצמים (OOP). ניתן לעצב את התוכנה או התוכנה באמצעות אובייקטים. אובייקטים שובע באמצעות מחלקות. אחד העמודים של OOP הוא ירושה. זה מספק שימוש חוזר בקוד. המחלקות שכבר קיימות הן מחלקות-על, והמחלקות הנגזרות הן תת-מחלקות. ניתן להשתמש במילת המפתח סופר כדי להפנות אובייקט של מחלקת העל. ישנם מספר אובייקטים במערכת. מילת המפתח 'זה' משמשת להפניה לאובייקט נוכחי.ההבדל העיקרי בין זה לסופר הוא 'זה' הוא משתנה ייחוס המשמש להפניה לאובייקט הנוכחי בעוד ש-'סופר' הוא משתנה ייחוס המשמש להפניה לאובייקט מיידי של מחלקה-על.

מה זה ב-Java?

מילת המפתח 'זה' משמשת להפניה לאובייקט נוכחי. עיין בתוכנית Java הנתונה.

ההבדל בין זה לסופר בג'אווה
ההבדל בין זה לסופר בג'אווה

איור 01: תוכנית Java באמצעות מילת מפתח זו

ב-Java, ישנם שלושה סוגים של משתנים. הם משתני מופע, משתנים מקומיים ומשתני מחלקה. על פי התוכנית לעיל, לעובד בכיתה יש שני משתני מופע. הם תעודת זהות ושם. משתנים מקומיים הם המשתנים שייכים לשיטות. משתני מחלקה משותפים לכל האובייקטים. המזהה והשם מועברים לבנאי העובד. אם המתכנת כותב id=id; זה לא יאתחל את משתני המופע מכיוון שלקונסטרוקטור כבר יש מזהה ושם.אין ערכים למשל משתנים. לכן, הדפסתם תציג null. בעת שימוש זה, זה מתייחס לאובייקט הנוכחי. לכן, מתן מזהה ושם לבנאי יכול להגדיר את משתני המופע.

ניתן להשתמש במילת המפתח 'זה' כדי להפעיל את שיטת המחלקה הנוכחית. עיין בתוכנית ה-Java הנתונה.

מעמד ציבורי זההדגמה{

public static void main(String args){

Myclass myClass=new Myclass();

myClass. B();

}

}

class Myclass{

public void A(){

System.out.println(“A”);

}

public void B(){

System.out.prinltn(“B”);

this. A();

}

}

הכיתה Myclass מכילה שתי שיטות. הם שיטה A ו-B. בעת יצירת אובייקט של Myclass והפעלת שיטה B תדפיס B, A כפלט. בשיטה ב', לאחר הדפסת ב' יש הצהרה כזו. A(). באמצעות זה, שיטת המחלקה הנוכחית הופעלה.

אפשר גם להשתמש במילת מפתח זו כדי להפעיל את בנאי המחלקה הנוכחי. עיין בתוכנית הנתונה.

מעמד ציבורי זההדגמה{

public static void main(String args){

A obj=new A(5);

}

}

class A{

public A(){

System.out.println(“Constructor A”);

}

public A(int x){

this();

System.out.println("קונסטרוקטור עם פרמטרים A");

}

}

לפי התוכנית לעיל, למחלקה A יש בנאי ברירת מחדל ובנאי עם פרמטרים. בעת יצירת אובייקט של A, הקונסטרוקטור בעל הפרמטר נקרא. בקונסטרוקטור בעל הפרמטרים, יש משפט כזה(); זה יקרא לבנאי המחלקה הנוכחי שהוא A().

מה זה סופר בג'אווה?

מילת המפתח 'סופר' קשורה לירושה. ירושה היא מושג מרכזי של תכנות מונחה עצמים. זה מאפשר להשתמש במאפיינים ובשיטות של המחלקה הקיימת כבר למחלקה חדשה. המחלקה הקיימת כבר ידועה כמחלקת האב או מחלקת העל. הכיתה החדשה ידועה בתור כיתת הילד או תת-הכיתה.

ה'סופר' הוא משתנה התייחסות המשמש להפניה לאובייקט מחלקת האב המיידי. מילת המפתח העל יכולה להפנות את משתנה המופע של מחלקת האב המיידי או להפעיל את השיטה של מחלקת האב המיידית. ה-super() משמש להפעלת בנאי מחלקות אב מיידי.

נניח שישנן שתי מחלקות כמו A ו-B. Class A היא מחלקת העל ומחלקה B היא תת המחלקה. למחלקות A, B יש שיטת תצוגה.

מחלקה ציבורית A{

public void display(){

System.out.println(“A”);

}

}

מחלקה ציבורית B מרחיבה את A{

public void display(){

System.out.println(“B”);

}

}

כאשר יוצרים אובייקט מסוג B וקוראים לתצוגה של המתודה, זה ייתן את הפלט B. לכיתה A יש את שיטת התצוגה, אך היא מחליפה על ידי שיטת התצוגה של תת-המעמד B. אם המתכנת רוצה לקרוא לשיטת התצוגה במחלקה A, אז הוא יכול להשתמש במילת המפתח סופר. עיין בתוכנית Java הנתונה.

ההבדל בין זה לסופר ב-Java_Figure 02
ההבדל בין זה לסופר ב-Java_Figure 02

איור 02: תוכנית Java משתמשת במילת מפתח סופר

לפי התוכנית לעיל, לכיתה A יש משתנה בשם מספר עם ערך 10. Class B מרחיב את A ויש לו משתנה בשם מספר עם ערך 20. בדרך כלל, בעת יצירת אובייקט מסוג B וקריאה לשיטת התצוגה צריך לתת את המספר בתת-המחלקה כי הערך של מחלקת העל נעקף על ידי המחלקה החדשה.על ידי שימוש ב- super.num, מודפס ערך מספר ה- superclass.

ניתן להשתמש בסופר() כדי לקרוא לבנאי מחלקת העל. עיין בתוכנית שלהלן.

כיתה ציבורית ראשי {

public static void main(String args){

B obj=new B();

}

}

class A{

A(){

System.out.println(“A”);

}

}

class B מרחיב את A{

B(){

super();

System.out.println(“B”);

}

}

לפי התוכנית לעיל, למחלקה A יש בנאי A (). למחלקה B יש את הבנאי B (). Class B מרחיב את המחלקה A. בעת יצירת אובייקט מסוג B, הוא ידפיס את A, B כפלט. לבנאי B () יש סופר (). לכן, תחילה מופעל הבנאי A ולאחר מכן עובר ל-B.למרות שסופר () לא נכתב, כברירת מחדל לבנאי האב נקרא.

הסופר המשתמש בשיטה הוא כדלקמן.

ההבדל העיקרי בין זה לסופר ב-Java
ההבדל העיקרי בין זה לסופר ב-Java

איור 03: תוכנית Java שמפעילה את שיטת superclass

לפי התוכנית לעיל, לכיתה A יש שיטת תצוגה. לכיתה B יש גם שיטת תצוגה. Class B מרחיב את A. בעת יצירת אובייקט מסוג B וקריאה לשיטת התצוגה תיתן פלט כ-A ו-B. בשיטת תצוגה בכיתה B, שיטת תצוגה מסוג Class A נקראת באמצעות super.display(). שיטה זו מדפיסה תחילה "A". לאחר מכן מדפיס "B".

מה הדמיון בין זה לסופר?

שתיהן מילות מפתח בתכנות Java

מה ההבדל בין זה לסופר?

זה לעומת Super

ה'זה' הוא משתנה התייחסות המשמש להפניה לאובייקט הנוכחי. ה-'super' הוא משתנה התייחסות המשמש להפניה לאובייקט מחלקה-על מיידי.
משתנה מופע
ניתן להפנות משתנה מופע מחלקה נוכחי באמצעות זה. ניתן להפנות משתנה מופע Superclass באמצעות super.
שיטת הכיתה
ניתן להפעיל את שיטת המחלקה הנוכחית באמצעות זה. ניתן להפעיל שיטת Superclass באמצעות super.
קונסטרוקטור
ניתן להפעיל את בנאי המחלקה הנוכחית באמצעות this(). ניתן להפעיל את הבנאי Superclass באמצעות super().

סיכום - זה לעומת סופר ב-Java

מילות המפתח 'זה' ו-'סופר' משמשות ב-Java. לא ניתן להשתמש במילות המפתח כמשתנים או כל שם מזהה אחר. נראה שהם זהים, אבל יש ביניהם הבדל. ההבדל בין זה לסופר הוא שסופר הוא משתנה התייחסות המשמש להפניה לאובייקט של מחלקה-על מיידי בעוד שזהו משתנה ייחוס שמפנה לאובייקט הנוכחי.

הורד את ה-PDF של זה לעומת סופר ב-Java

ניתן להוריד את גרסת ה-PDF של מאמר זה ולהשתמש בה למטרות לא מקוונות לפי הערת ציטוט. אנא הורד את גרסת ה-PDF כאן: ההבדל בין זה לסופר ב-Java

מוּמלָץ: