ממשקים בשפת ג’אווה

3

-פרסומת-

מחלקות מסוג ממשק

-פרסומת-

ממשק (Interface) בתכנות מונחה עצמים (OOP) הוא מחלקה אשר כל המתודות בה לא ממומשות, כלומר אלו מתודות בעלות גוף ריק. למשל:

public interface Moveable (){

                public void run();

                public void move();

                public void stop();

}

משתמשים במחלקה מסוג זה על מנת שמחלקות יממשו אותה, כלומר יממשו את כל המתודות שבה (כל המתודות בה לא ממומשות, רק מוגדרות).

public class Animal implements Moveable(){

            public void run() {System.out.println(“is running”);}

-פרסומת-

            public void move() {System.out.println(“is moving”);}

            public void move() {System.out.println(“stopped”);}

};

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

הערות:

 לא ניתן ליצור אובייקט מטיפוס ממשק (כמו שלא ניתן לבנות אובייקט ממחלקה מופשטת), אך ניתן להשתמש בו ליצירת הפניות (רפרנס) לאובייקטים אלה שמממשים אותו!

מחלקה יכולה לממש מספר ממשקים, על מחלקה זו לממש את כל המתודות של הממשקים שהיא מממשת (implements).

ממשק יכול לרשת ממשק והחוקים יהיו כמו בירושה ובפולימורפיזם (רב-צורתיות) בין מחלקות “רגילות”!

בשפת C, קיים שימוש בקבצי  (.h files) header שהם קבצים המכילים, בין השאר, אב טיפוס (prototype) של הפונקציות הקיימות בקובץ C. הדבר דומה לממשק בג’אווה (או בתכנות מונחה עצמים) אך לא מהווה הקבלה שהיא!

ממשק הוא מקרה פרטי של מחלקה אבסטרקטית- מחלקה מופשטת (Abstract Class) אך בניגוד למחלה מופשטת בלבד (שאינה ממשק), כל המתודות בו לא ממומשות! בעת מימוש ממשק יש לממש את כל סט הפונקציות שלו!

-פרסומת-

עשוי לעניין אותך
  1. שי הגיב

    יפה יוסקה היה נחמד לקרוא! 🙂

  2. שגיב הגיב

    יפה יוסי תמשיך ככה! =]

  3. אלה הגיב

    יוסי מה היינו עושים בלעדיך..?! עכשיו לפחות אני יודעת מה זה ממשק!!

הגב

לא נפרסם את האימייל שלך.