Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
‫מתודות‬-Methods‫ובאותו‬ ‫מחלקה‬ ‫לאף‬ ‫שייכת‬ ‫לא‬ ‫מתודה‬ ‫בו‬ ‫מצב‬ ‫ייתכן‬ ‫לא‬ ,‫כלומר‬ ,‫בדיוק‬ ‫אחת‬ ‫למחלקה‬ ‫להשת...
‫המתודות‬ ‫של‬ ‫למימוש‬ ‫דוגמה‬ ‫נראה‬set()‫ו‬-get():public class Car {private int price;private int customerPrice;private...
:‫הנ"ל‬ ‫הקוד‬ ‫מדוגמת‬ ‫המעניינות‬ ‫מהנקודות‬ ‫למעט‬ ‫נתייחס‬ ‫כעת‬‫כ‬ ‫הוגדרו‬ ‫כולם‬ ‫המשתנים‬-private‫יש‬ ‫משתנה‬ ‫של‬...
‫מחלקה‬ ‫מתודות‬–‫סטטיות‬ ‫מתודות‬–Static Methods‫השמורה‬ ‫המילה‬ ‫תתווסף‬ ‫ההגדרה‬ ‫לשורת‬ ,‫המשתנה‬ ‫להגדרת‬ ‫בדומה‬ ‫תי...
ג'אווה - תכנות מונחה עצמים - מתודות - שליפה והכנסה, סטטיות, סופיות ומתודות שעבר זמנן
Upcoming SlideShare
Loading in …5
×

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

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

  • Be the first to comment

  • Be the first to like this

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

  1. 1. ‫מתודות‬-Methods‫ובאותו‬ ‫מחלקה‬ ‫לאף‬ ‫שייכת‬ ‫לא‬ ‫מתודה‬ ‫בו‬ ‫מצב‬ ‫ייתכן‬ ‫לא‬ ,‫כלומר‬ ,‫בדיוק‬ ‫אחת‬ ‫למחלקה‬ ‫להשתייך‬ ‫חייבת‬ ‫בגאווה‬ ‫מתודה‬ ‫כל‬.‫אחת‬ ‫ממחלקה‬ ‫ליותר‬ ‫שייכת‬ ‫מתודה‬ ‫בו‬ ‫מצב‬ ‫ייתכן‬ ‫לא‬ ,‫האופן‬,‫המתודה‬ ‫אותה‬‫ואין‬ ‫המחלקה‬ ‫של‬ ‫ההכרה‬ ‫מרחב‬ ‫בתוך‬ ‫והוגדרה‬ ‫הוצהרה‬ ‫שהיא‬ ‫בכך‬ ‫אליה‬ ‫משתייכת‬ ,‫למחלקה‬ ‫המשתייכת‬.‫לה‬ ‫מחוצה‬ ‫והגדרה‬ ‫המחלקה‬ ‫בתוך‬ ‫המתודה‬ ‫על‬ ‫הצהרה‬ ‫לבצע‬ ‫אחרות‬ ‫בשפות‬ ‫כמו‬ ‫אפשרות‬getters & setters‫שיותר‬ ‫כמה‬ ‫להגדיר‬ ‫נעדיף‬ ‫אנו‬ ,‫שלנו‬ ‫המופע‬ ‫למשתני‬ ‫ישירה‬ ‫גישה‬ ‫מתבצעת‬ ‫בו‬ ‫מצב‬ ‫למנוע‬ ‫ע"מ‬‫כמשתנים‬ ‫שלנו‬ ‫מהמשתנים‬‫גישה‬ ‫מציין‬ ‫בעלי‬private‫בהתאם‬ ‫וזאת‬ ‫ולצפייה‬ ‫לעדכון‬ ‫המשתנה‬ ‫של‬ ‫חשיפה‬ ‫לאפשר‬ ‫מעוניינים‬ ‫כן‬ ‫אנו‬ ,‫זאת‬ ‫עם‬ .‫מתודות‬ .‫להגדרתנו‬get‫ו‬-set‫מה‬ ‫את‬ ‫רק‬ ‫רואה‬ ‫שהלקוח‬ ‫כזה‬ ‫באופן‬ ‫שלנו‬ ‫המופע‬ ‫למשתני‬ ‫ממוסכת‬ ‫גישה‬ ‫לנו‬ ‫מאפשרות‬‫את‬ ‫רק‬ ‫ומשנה‬ ‫יראה‬ ‫שהוא‬ ‫רוצים‬ ‫שאנחנו‬‫לכתוב‬ ‫ניתן‬ ,‫לדוגמה‬ .‫אותו‬ ‫שישנה‬ ‫רוצים‬ ‫אנו‬ ‫בו‬ ‫ובאופן‬ ‫שישנה‬ ‫רוצים‬ ‫שאנחנו‬ ‫מה‬‫מתודת‬set‫לקרות‬ ‫שעלולות‬ ‫שונות‬ ‫שגיאות‬ ‫למנוע‬ ‫ובכך‬ ,‫ההשמה‬ ‫בטרם‬ ‫הקלט‬ ‫נכונות‬ ‫ובדיקת‬ ‫קלט‬ ‫מסכת‬ ‫מכילה‬ ‫אשר‬.‫למשתנה‬ ‫ישירה‬ ‫גישה‬ ‫מאפשרים‬ ‫היינו‬ ‫באם‬ ‫להתקיים‬ ‫היה‬ ‫יכול‬ ‫שלא‬ ‫דבר‬ ,‫הדרך‬ ‫במהלך‬‫כללי‬ ‫הגדרה‬‫למתודות‬ ‫ת‬get‫ו‬-set:public class GetnSet {private varType varName;public varType getVarName() {return varName;}public void setVarName(varType varName) {this.varName = varName;}}:‫הנ"ל‬ ‫מהמתודות‬ ‫אחת‬ ‫לכל‬ ‫מעשית‬ ‫דוגמה‬ ‫נביא‬get()–‫שלנו‬ ‫ובמחלקה‬ ‫נניח‬Car‫משתנה‬ ‫קיים‬ ,price‫לסוחר‬ ‫שעלתה‬ ‫כפי‬ ,‫נטו‬ ‫המכונית‬ ‫מחיר‬ ‫את‬ ‫מכיל‬ ‫זה‬ ‫משתנה‬ .‫רווח‬ ‫אחוז‬ ‫הוספת‬ ‫ע"י‬ ‫צרכן‬ ‫מחיר‬ ‫לייצר‬ ‫ברצונו‬ ,‫בפועל‬ ‫למחיר‬ ‫ישירה‬ ‫גישה‬ ‫לספק‬ ‫מעוניין‬ ‫אינו‬ ,‫הסוחר‬ ‫אותו‬ ‫אך‬ ,‫המכוניות‬‫ת‬ ‫כמה‬ ‫יידע‬ ‫שהלקוח‬ ‫כך‬ ,‫רישוי‬ ‫ואגרת‬ ‫ייבוא‬ ‫עלויות‬ ,‫מסוים‬.‫ההוצאות‬ ‫כל‬ ‫לאחר‬ ‫המכונית‬ ‫לו‬ ‫עלה‬‫המשתנה‬ ‫את‬ ‫להגדיר‬ ‫נוכל‬ ,‫כאלו‬ ‫במקרים‬price‫גישה‬ ‫מציין‬ ‫עם‬ ‫במשתנה‬private‫הלוגיקה‬ ‫את‬ ‫ולהכניס‬ ,-‫לחישוב‬ ‫הנוסחה‬‫מתודה‬ ‫לתוך‬ ‫הסופי‬ ‫המחיר‬public‫בשם‬getPrice()‫המניפולציות‬ ‫את‬ ‫עליו‬ ‫שתעשה‬ ‫לפני‬ ‫לא‬ ,‫המחיר‬ ‫את‬ ‫תחזיר‬ ‫זו‬ ‫מתודה‬ .‫או‬ ‫עפ"י‬ ‫הדרושות‬.‫הסוחר‬ ‫תו‬set(varType var)–‫איננו‬ .‫המכונית‬ ‫מחיר‬ ‫את‬ ‫להזין‬ ‫לסוחר‬ ‫לאפשר‬ ‫מעוניינים‬ ‫אנו‬ ‫בו‬ ‫מקרה‬ ‫וניקח‬ ,‫הדוגמה‬ ‫אותה‬ ‫עם‬ ‫נמשיך‬‫זה‬ ‫מסוג‬ ‫וטעויות‬ ‫במתכוון‬ ‫שלא‬ ‫לקרות‬ ‫עלולה‬ ‫שגויה‬ ‫הזנה‬ ,‫לעתים‬ .‫למשתנה‬ ‫ישירה‬ ‫גישה‬ ,‫לו‬ ‫לא‬ ‫אפילו‬ ,‫לאפשר‬ ‫מעוניינים‬‫כ‬ ‫גם‬ .‫שלמה‬ ‫תכנית‬ ‫להפיל‬ ‫עלולות‬‫למשתנה‬ ‫שהגישה‬ ‫נוודא‬ ‫אן‬price‫הינה‬private‫מתודה‬ ‫וניצור‬setPrice(int price)‫עם‬‫הרשאת‬public,‫שליליים‬ ‫ערכים‬ ‫של‬ ‫הזנה‬ ‫נמנע‬ ,‫לדוגמה‬ .‫לסנן‬ ‫שברצוננו‬ ‫הטעויות‬ ‫כל‬ ‫למניעת‬ ‫הלוגיקה‬ ‫כל‬ ‫את‬ ‫נכניס‬ ‫בה‬ ,‫וכו‬ ‫למחיר‬ ‫מקסימום‬ ‫רף‬ ‫נקבע‬.
  2. 2. ‫המתודות‬ ‫של‬ ‫למימוש‬ ‫דוגמה‬ ‫נראה‬set()‫ו‬-get():public class Car {private int price;private int customerPrice;private int customs;private int tax;private int registration;public int getCustoms() {return customs;}public void setCustoms(int customs) {this.customs = customs;}public int getTax() {return tax;}public void setTax(int tax) {this.tax = tax;}public int getRegistration() {return registration;}public void setRegistration(int registration) {this.registration = registration;}private int getRealPrice() {return price;}public void setPrice(int price) {if (price<0)System.out.println("Negative value not allowed!");else if (price>100000)System.out.println("Cant afford to buy at more than 100,000!");else {this.price = price;setCustomerPrice(price);}}private void setCustomerPrice(int price) {customerPrice = price+getTax()+getCustoms()+getRegistration();}public int getPrice() {if (getRealPrice()==0)System.out.println("Price calculated without purchase price");if (getRegistration()==0)System.out.println("Price calculated without registration fees");if (getTax()==0)System.out.println("Price calculated without tax amount");if (getCustoms()==0)System.out.println("Price calculated without customs fees");return customerPrice;}}
  3. 3. :‫הנ"ל‬ ‫הקוד‬ ‫מדוגמת‬ ‫המעניינות‬ ‫מהנקודות‬ ‫למעט‬ ‫נתייחס‬ ‫כעת‬‫כ‬ ‫הוגדרו‬ ‫כולם‬ ‫המשתנים‬-private‫יש‬ ‫משתנה‬ ‫של‬ ‫ערכו‬ ‫את‬ ‫לעדכן‬ ‫ע"מ‬ ,‫כזה‬ ‫באופן‬ ,‫כאמור‬ .‫אליהם‬ ‫ישירה‬ ‫גישה‬ ‫למנוע‬ ‫ע"מ‬‫במתודת‬ ‫לעבור‬ ‫צורך‬set.‫צורך‬ ‫בכך‬ ‫יש‬ ‫אם‬ ,‫המוזנים‬ ‫הערכים‬ ‫לגבי‬ ‫חוקיות‬ ‫שהגדירה‬‫המתודות‬ ‫הוגדרו‬ ,‫כן‬ ‫כמו‬setCustomerPrice,getRealPrice‫כ‬-private‫הצרכן‬ ‫מחיר‬ ‫של‬ ‫ידנית‬ ‫הזנה‬ ‫למנוע‬ ‫רצון‬ ‫מתוך‬‫הוא‬ ,‫שהוזן‬ ‫מרגע‬ .‫המכונית‬ ‫של‬ ‫הבסיס‬ ‫מחיר‬ ‫לגבי‬ ‫מידע‬ ‫קבלת‬ ‫למנוע‬ ‫ורצון‬ ,)‫גורמים‬ ‫ממס‬ ‫(מורכב‬ ‫המכונית‬ ‫של‬‫לא‬ ‫כבר‬.‫קיימות‬ ‫הן‬ ‫ולכן‬ ‫המחלקה‬ ‫הגדרת‬ ‫בתוך‬ ‫גם‬ ‫אלו‬ ‫במתודות‬ ‫שימוש‬ ‫לעשות‬ ‫נרצה‬ ‫אנו‬ ,‫זאת‬ ‫עם‬ ‫יחד‬ .‫עבורנו‬ ‫יותר‬ ‫רלוונטי‬‫המתודה‬setPrice‫ל‬ ‫לקבוע‬ ‫שניתן‬ ‫הערכים‬ ‫טווח‬ ‫את‬ ‫מגבילה‬price-‫גישה‬ ‫מאפשרים‬ ‫היינו‬ ‫אם‬ ‫מתאפשר‬ ‫היה‬ ‫שלא‬ ‫דבר‬ ,‫והמתודה‬ ,‫למשתנה‬ ‫ישירה‬getPrice‫את‬ ‫בכלל‬ ‫מחזירה‬‫המשתנה‬ ‫של‬ ‫ערכו‬customerPrice‫של‬ ‫ערכו‬ ‫את‬ ‫ולא‬price‫כפי‬.‫לצפות‬ ‫אולי‬ ‫היה‬ ‫שניתן‬‫היכולות‬ ‫כל‬ ‫את‬ ‫מאבדים‬ ‫בעצם‬ ‫אנו‬ ‫למשתנים‬ ‫ישירה‬ ‫שבגישה‬ ,‫הנקודה‬ ‫את‬ ‫לחדד‬ ‫ע"מ‬ ‫בכוונה‬ ‫כזה‬ ‫באופן‬ ‫זו‬ ‫דוגמה‬ ‫הראיתי‬‫שלנו‬ ‫המשתנים‬ ‫בו‬ ‫ובאופן‬ ‫בנעשה‬ ‫שולטים‬ ‫אנו‬ ,‫מתודות‬ ‫דרך‬ ‫הגישה‬ ‫במתן‬ ,‫שלעיל‬ ‫שהוצגו‬.‫ומעודכנים‬ ‫מוצגים‬‫לגשת‬ ‫יהיה‬ ‫ניתן‬ ‫שלא‬ ‫כך‬ ,‫מופע‬ ‫למשתני‬ ‫הגישה‬ ‫להסתרת‬ ‫מוחלט‬ ‫כמעט‬ ‫באופן‬ ‫שנשאף‬ ‫ע"מ‬ ‫מספיקות‬ ‫לעיל‬ ‫שהוצגו‬ ‫הסיבות‬.‫המחלקה‬ ‫לגבולות‬ ‫מחוץ‬ ‫ישירה‬ ‫בצורה‬ ‫אליהם‬:‫המחלקה‬ ‫הגדרת‬ ‫בתוך‬ ‫בהן‬ ‫שימוש‬ ‫תוך‬ ‫הפעם‬ ,‫שכאלו‬ ‫במתודות‬ ‫לשימוש‬ ‫מהותית‬ ‫סיבה‬ ‫נציג‬ ,‫כעת‬‫על‬ ‫שמירה‬maintainability–‫קלה‬ ‫קוד‬ ‫תחזוקת‬‫המשתנה‬ ‫על‬ ‫לדבר‬ ‫רצינו‬ ‫בו‬ ‫בקוד‬ ‫מקום‬ ‫ובכל‬ ‫קוד‬ ‫שורות‬ ‫אלפי‬ ‫על‬ ‫משתרעת‬ ‫שלנו‬ ‫שהתוכנית‬ ‫נניח‬number‫תוך‬ ‫זאת‬ ‫עשינו‬ ,‫שהוגדרו‬ ‫למשתנים‬ ‫לפנות‬ ‫יכולים‬ ‫אנו‬ ,‫כך‬ ‫ובשל‬ ,‫שלנו‬ ‫המחלקה‬ ‫הגדרת‬ ‫בתוך‬ ‫נמצאים‬ ‫אנו‬ ‫(הרי‬ ‫המשתנה‬ ‫בשם‬ ‫ישירה‬ ‫קריאה‬‫כ‬-private‫"מ‬.)‫עתה‬ ‫זה‬ ‫מגדירים‬ ‫שאנו‬ ‫המחלקה‬ ‫של‬ ‫ההכרה‬ ‫בטווח‬ ‫נמצאים‬ ‫שאנחנו‬ ‫עוד‬ ‫כל‬ "‫חשש‬ ‫בלי‬‫שהמתודה‬ ‫גם‬ ‫נניח‬getNumber()‫המשתנה‬ ‫של‬ ‫ערכו‬ ‫את‬ ‫מחזירה‬ ‫בסה"כ‬ ,number‫מה‬ ‫כל‬ ‫אם‬ ,‫ולכן‬ ,‫דבר‬ ‫שום‬ ‫למסך‬ ‫מבלי‬‫לכתוב‬ ‫מיותר‬ ‫כמאמץ‬ ‫נראה‬ ,‫המשתנה‬ ‫של‬ ‫ערכו‬ ‫את‬ ‫למשל‬ ‫להדפיס‬ ‫זה‬ ‫לעשות‬ ‫רוצים‬ ‫שאנחנו‬println(getNumber())‫במקום‬‫לכתוב‬ ‫פשוט‬println(number).‫יכולנו‬ ‫ושאכן‬ ‫טובה‬ ‫תשובה‬ ‫באמת‬ ‫שאין‬ ‫הראשוני‬ ‫האינסטינקט‬ ‫אומר‬ ,‫זה‬ ‫מסוג‬ ‫שאלה‬ ‫על‬ ‫לענות‬ ‫נדרשים‬ ‫אנו‬ ‫בהם‬ ‫במקרים‬?...‫יותר‬ ‫הפשוטה‬ ‫המקוצרת‬ ‫בדרך‬ ‫לא‬ ‫למה‬ ‫אז‬ ,‫הדבר‬ ‫כך‬ ‫ואם‬ ‫שקול‬ ‫באופן‬ ‫הצורות‬ ‫בשתי‬ ‫להשתמש‬‫ע‬ ‫לדבר‬ ‫הזמן‬ ‫בדיוק‬ ‫כאן‬:"‫קוד‬ ‫"תחזוקת‬ ‫שנקרא‬ ‫הנושא‬ ‫ל‬‫זאת‬ ‫שעשינו‬ ‫ונניח‬ ‫הקוד‬ ‫רצף‬ ‫בתוך‬ ‫ישירות‬ ‫המשתמש‬ ‫בשם‬ ‫השתמשנו‬ ‫שאכן‬ ‫נניח‬055‫לנו‬ ‫והתגלה‬ ‫נניח‬ ,‫כן‬ ‫כמו‬ .‫פעמים‬‫של‬ ‫ערכו‬ ‫את‬ ‫להדפיס‬ ‫פונים‬ ‫שאנו‬ ‫פעם‬ ‫בכל‬ ‫צריכים‬ ‫שאנחנו‬number+ ‫ערכו‬ ‫את‬ ‫להדפיס‬ ,1.,‫התכנית‬ ‫את‬ ‫להדר‬ ‫שנוכל‬ ‫ע"מ‬ ,‫שתיארתי‬ ‫להנחות‬ ‫בהתאם‬‫כתבנו‬ ‫בו‬ ‫מקום‬ ‫לכל‬ ‫לגשת‬ ‫צורך‬ ‫יש‬number‫ל‬ ‫ולשנות‬-number+1.‫מתודת‬ ‫אותה‬ ‫דרך‬ ‫ורק‬ ‫אך‬ ‫למשתנה‬ ‫לפנות‬ ‫יהיה‬ ,‫זו‬ ‫לבעיה‬ "‫"מיינטיינאבילי‬ ‫פתרון‬getNumber()‫ב‬ ‫שיופיע‬ ‫שבמקום‬ ‫כך‬ ,-055‫המשתנה‬ ‫שם‬ ‫מקומות‬number,‫ב‬ ‫תופיע‬-055‫למתודה‬ ‫הקריאה‬ ‫מקומות‬getNumber()‫של‬ ‫ערכו‬ ‫את‬ ‫שמחזירה‬‫המשתנה‬number‫של‬ ‫הלוגיקה‬ ‫בתוך‬ ‫אותו‬ ‫לבצע‬ ‫נוכל‬ ,‫הנ"ל‬ ‫השינוי‬ ‫של‬ ‫במקרה‬ ‫שגם‬ ‫כך‬ ,getNumber()‫שתחזיר‬ ‫כך‬ ,‫בדיוק‬ ‫אחת‬ ‫פעם‬number +1‫במקום‬number.‫התכנית‬ ‫בשאר‬ ‫דבר‬ ‫לשנות‬ ‫מבלי‬
  4. 4. ‫מחלקה‬ ‫מתודות‬–‫סטטיות‬ ‫מתודות‬–Static Methods‫השמורה‬ ‫המילה‬ ‫תתווסף‬ ‫ההגדרה‬ ‫לשורת‬ ,‫המשתנה‬ ‫להגדרת‬ ‫בדומה‬ ‫תיעשה‬ ‫סטטית‬ ‫מתודה‬ ‫הגדרת‬static‫ערך‬ ‫לפני‬:‫הבא‬ ‫באופן‬ .‫הגישה‬ ‫מציין‬ ‫ואחרי‬ ‫המתודה‬ ‫של‬ ‫החזרה‬public static void staticMethod() {}‫המח‬ ‫לשם‬ ‫ישירה‬ ‫פניה‬ ‫ע"י‬ ‫או‬ ‫קיים‬ ‫אובייקט‬ ‫ע"י‬ ,‫המתודה‬ ‫את‬ ‫להפעיל‬ ‫ניתן‬ ,‫כאן‬ ‫גם‬‫אובייקטים‬ ‫כלל‬ ‫נוצרו‬ ‫לא‬ ‫אם‬ ‫גם‬ ,‫לקה‬:‫מהמחלקה‬car1.staticMethod(); //Method call via an instanceCar.staticMethod(); //Method call via Class name‫המתודה‬ ‫את‬ ‫כדוגמה‬ ‫לראות‬ ‫ניתן‬main‫מאותה‬ ‫אובייקט‬ ‫יצרנו‬ ‫לא‬ ‫אם‬ ‫גם‬ ‫כאפליקציה‬ ‫המחלקה‬ ‫את‬ ‫להריץ‬ ‫ניתן‬ .‫תכנית‬ ‫בכל‬‫של‬ ‫להיותה‬ ‫הודות‬ ‫לנו‬ ‫מתאפשר‬ ‫זה‬ .‫המחלקה‬main!‫סטטית‬‫המתודה‬ ‫מוגדרת‬ ‫בה‬ ‫במחלקה‬ ‫מופע‬ ‫משתנה‬ ‫על‬ ‫נצהיר‬ ‫אם‬ ,‫לעיל‬ ‫שצוינו‬ ‫הסיבות‬ ‫מאותן‬main‫אפשרות‬ ‫לנו‬ ‫שאין‬ ‫נבחין‬ ,‫זאת‬ ,‫הסטטית‬ ‫המתודה‬ ‫דרך‬ ‫אליו‬ ‫לגשת‬.‫האובייקט‬ ‫שנוצר‬ ‫לפני‬ ‫עוד‬ ‫קיימת‬ ‫הזו‬ ‫והמתודה‬ ‫היות‬‫על‬ ‫לדבר‬ ‫ניתן‬ ‫לא‬ ‫גם‬ ‫האופן‬ ‫באותו‬this‫קיימת‬ ‫הסטטית‬ ‫שהמתודה‬ ‫שאמרנו‬ ‫והרי‬ ‫הנוכחי‬ ‫לאובייקט‬ ‫רפרנס‬ ‫מציין‬ ‫הוא‬ ‫שהרי‬ ,.‫מסוים‬ ‫באובייקט‬ ‫תלות‬ ‫מבלי‬.‫לדריסה‬ ‫ניתנות‬ ‫לא‬ ‫סטטיות‬ ‫מתודות‬‫סופיות‬ ‫מתודות‬–Final Methods‫א‬ ‫למנוע‬ ‫ניתן‬‫לעשות‬ ‫האפשרות‬ ‫ת‬Overriding‫הוספת‬ ‫ע"י‬ ‫למתודה‬final:‫להגדרתה‬public final void FinalMethod() {}.‫יורשת‬ ‫במחלקה‬ ‫מחדש‬ ‫להגדרה‬ ‫ניתנם‬ ‫תהיה‬ ‫לא‬ ‫היא‬ ,‫זה‬ ‫באופן‬ ‫תוגדר‬ ‫שמתודה‬ ‫מרגע‬‫היות‬ ,‫בביצועים‬ ‫ניכר‬ ‫שיפור‬ ‫גם‬ ‫יש‬ ,)‫המתודה‬ ‫פעולת‬ ‫אופי‬ ‫שינוי‬ ‫(מניעת‬ ‫הברור‬ ‫היתרון‬ ‫מלבד‬,‫כסופית‬ ‫מוגדרת‬ ‫שמתודה‬ ‫ובכך‬.‫להשתמש‬ ‫יש‬ ‫מתודה‬ ‫של‬ ‫גרסה‬ ‫באיזו‬ ‫ריצה‬ ‫בזמן‬ ‫הבדיקה‬ ‫נחסכת‬‫זמנן‬ ‫שעבר‬ ‫מתודות‬–Deprecated Methods.‫למיושנות‬ ‫הפכו‬ ‫השפה‬ ‫של‬ ‫התחדשות‬ ‫שבעקבות‬ )‫מחלקות‬ ‫(או‬ ‫מתודות‬‫לעשות‬ ‫ניתן‬ ‫הפקודה‬ ‫שורת‬ ‫דרך‬ ‫מהדרים‬ ‫אם‬ .‫אזהרה‬ ‫הודעת‬ ‫תינתן‬ ‫כאלה‬ ‫במתודות‬ ‫שימוש‬ ‫בעת‬‫של‬ ‫הוספה‬ ‫ע"י‬ ‫זאת‬-deprecation‫הפקודה‬ ‫הרצת‬ ‫בעת‬javac.‫בנושא‬ ‫מידע‬ ‫ולקבל‬‫באנוטציה‬ ‫להשתמש‬ ‫ניתן‬@Deprecated,‫זה‬ ‫מסימון‬ ‫כתוצאה‬ .‫ככאלו‬ ‫אותן‬ ‫לסמן‬ ‫וכך‬ ‫המתודה‬ ‫או‬ ‫המחלקה‬ ‫להגדרת‬ ‫בצמוד‬‫ה‬ ‫מסמך‬ ‫גם‬-javadoc.‫בהתאם‬ ‫יעודכן‬‫דריסה‬ ‫לבצע‬ ‫ננסה‬ ‫כאשר‬ ‫כאלו‬ ‫במקרים‬ ‫ניתקל‬ ‫אנו‬ ‫לרוב‬-Override‫כ‬ ‫שהוגדרה‬ ‫מתודה‬ ‫של‬-Deprecated.

    Be the first to comment

    Login to see the comments

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

Views

Total views

2,756

On Slideshare

0

From embeds

0

Number of embeds

60

Actions

Downloads

24

Shares

0

Comments

0

Likes

0

×