++C למתחילים
 
דף הבית>> פרק 4

פרק 4

מחלקות ואוביקטים:

מחלקה (class) היא מנגנון להגדרת טיפוס הכולל אוסף נתונים ופעולות עליהם. המחלקה היא בעצם שיפור של המבנה (struct) שבשפת C והיא מיועדת לתמיכה בתכנות מונחה עצמים. מחלקה מכילה שני חלקים :חלק אחד כולל משתנים האוגרים נתונים, וחלק שני כולל פונקציות הפועלות על המשתנים האלה. תבנית זו היא דרישת הסף ליצירת תוכנית בתכנות מונחה עצמים. הרעיון הוא לעשות תוכניות יותר מודולריות. נתחיל עם דוגמה?  

	
#include <iostream.h> 
#include <conio.h> 

class Date
{ 
   private: 
      int day; 
      int month; 
      int year; 
   public: 
      void set(int d, int m, int y) 
      { 
         day = d; 
         month = m; 
         year = y; 
      } 
      void print() 
      { 
  cout<<"Date is:" <<day<<"/" <<month<<"/" <<year<< endl; 
      } 
}; 
int main() 
{ 
   Date d1, d2; 
   d1.set(3, 6, 1999); 
   d2.set(3, 6, 2001); 
   d1.print(); 
   d2.print(); 
   getch(); 
   return 0; 
} 
 

פלט התוכנית:

Date is: 3/6/1999

Date is: 3/6/2001

הסבר התוכנית: המחלקה Date מגדירה את השדות year,month,day באזור private .כמו כן הוגדרה פונקצית גישה לשדות הללו באזור ה public אציין כי אין אפשרות לגשת לשדות שהוגדרו כ private ע"י פונקציה ()main שאינה פונקציה חברה במחלקה Date .פונקצית main יכולה לגשת אך ורק לשדות שהוגדרו כ public. בפונקצית main הגדרנו שני משתנים d1 ו d2 המוגדרים מטיפוס המחלקה, כלומר זה בעצם "כאילו" יצרנו "טפסים" מסוג Date . טפסים אלו הם עצמים (מכאן השם מונחה עצמים). אבהיר פרט חשוב מאוד: פונקציה חברה נקראת תמיד דרך עצם של המחלקה!  

הקודם הבא