.
שיעור 6- Object Oriented Abap – Friends
נניח שנרצה לשימוש מיוחד להשתמש בתכונות או מתודות שהנראות שלהם היא Protected או Private אבל אנחנו לא רוצים שהם יעברו לPublic ישנה דרך לגשת אליהם באמצעות קלאס נוסף מקשר.
כאן נכנס לתמונה המושג “חברות”(Friends).
בעצם ניצור קלאס נוסף וניצור קשר חברות בינו ולבין הקלאס שאנחנו רואצים לגשת למתודות או תכונות שלו.
אחרי שנוצר הקשר כל מה שצריך לעשות זה בתוך מתודה של הקלאס החדש ליצור אובייקט מסוג של הקלאס שאנחנו רוצים לגשת אליו,ואז דרך האובייקט הזה נוכל לגשת למתודות או תכונות.
עכשיו נראה איך עושים את הקשר הזה בתכונה.
דבר ראשון נסתכל על הקלאס שאנחנו רוצים לגשת אליו
לקלאס קוראים MY_CORE_CLASS ואנחנו רוצים לגשת למתודה M1.
תחילה נגדיר את הקלאס השני שלנו.
חשוב לשים לב שאנחנו רק מגדירים את הקלאס ועדיין לא מיישמים אותו.
הסיבה לכך היא שאנחנו ביישום רוצים לקרוא למתודה מתוך MY_CORE_CLASS אבל בשביל לעשות זאת אנחנו צריכים קודם להגדיר את הקשר בניהם.
אחרי הגדרת הקלאס נגדיר וניישם את הקלאס שאנחנו רוצים לקחת ממנו את המתודה,ובהגדרה נוסיף את המילת מפתח Friends ואת הקלאס שאנחנו רוצים לקשר אחרי בצורה הבאה :
לאחר ההגדרה והיישום של הקלאס אנחנו יכולים ליישם את הקלאס MY_FRIEND_CLASS.
כמו שאפשר לראות ביישום אנחנו יוצרים אובייקט מסוג MY_CORE_CLASS ודרכו קוראים למתודה.
ועכשיו ניצור אובייקט מסוג MY_FRIEND_CLASS ונקרא למתודה M2.
ואם נריץ את התוכנית נוכל לראות את הפלט הבאה.
.