מחלקה (תכנות) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
מ הגהה
שורה 3:
מבחינה מהותית, מחלקה מתארת ישות מופשטת על מאפייניה ופעולותיה ומימושה בפועל הוא באמצעות [[אובייקט (מדעי המחשב)|עצם]] (אובייקט). העצם יכול להיות עצם מהעולם האמיתי שבו מטפלת ה[[תוכנה]] (למשל, אם התוכנה מנהלת מלאי במחסן, המחלקה יכולה לתאר פריט במלאי), או עצם במחשב (למשל, [[מבנה נתונים]] מסוים). המחלקה מכילה מידע אודות העצם, ופונקציות המאפשרות לבצע פעולות על העצם, כמו לשנות את המידע בו, להפעיל אותו על עצמים אחרים, וכדומה.
 
בשפות הראשונות שמימשו תכנות מונחה עצמים כמו C++ המחלקה הכילה משתנים ושיטות, (ביניהן שיטות שמטרתן לחשוף משתנים כלפי חוץ), בשפות שונות כמו VB ובמיוחד במודרניות כמו ג'אווה ו-C#C המחלקה הורחבה כך שהיא מכילה לא רק משתנים ושיטות, אלא גם מאפיינים מובנים (שחושפים משתנים פנימיים) ואירועים.
 
בכל מחלקה קיימות שתי פונקציות שמופעלות באופן אוטומטי על המופעים שלה בעת יצירתם ובעת מחיקתם. בעת יצירת המופע תופעל פונקציית בנאי (Constructor), באמצעותה אפשר לאתחל את האובייקט, לעיתים באמצעות פרמטרים המועברים אליה. בעת הריסת האובייקט תופעל פונקציה הורסת (Destructor), באמצעותה אפשר למשל לשחרר זיכרון שהיה בשימוש על ידי העצם, או למחוק אובייקטים אחרים שכבר אין בהם צורך.
שורה 60:
 
==מחלקות מובנות==
מחלקה משמשת בין היתר ליצירת טיפוסי משתנים חדשים (משוכללים) המובנים במערכת הפיתוח, והדבר מהווה מימוש של תכנות מונחה עצמים, למשל ב-C#C מחלקות משמשת לבניית מבנים מפורסמים כמו [[רשימה מקושרת|רשימה]], [[מחסנית (מבנה נתונים)|מחסנית]], [[תור (מבנה נתונים)|תור]], [[עץ בינארי]] ו[[עץ משחק]]. למעשה בשפה זו משתנים פרמיטיביים אף הם מוגדרים כמחלקות, וכל דבר בשפה נעשה באמצעות מחלקות.
 
<syntaxhighlight lang="java">