אובייקט (מדעי המחשב) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
ערך חדש - מבוסס על תרגום הערך המקסיל באנגלית
 
הרחבה
שורה 4:
== תכנות מונחה עצמים ==
ב[[תכנות מונחה-עצמים]], אובייקטים הם [[מבנה נתונים|מבני נתונים]] ביחד עם [[שגרה (תכנות)|שגרות]] העיבוד המצורפות אליהם. לדוגמה, ניתן ליצור אובייקט של [[קובץ]]: אוסף של [[נתונים]] ביחד עם שגרות הקריאה והכתיבה המשוייכות אליהם. אובייקט נחשב ל[[מופע (מדעי המחשב)|מופע]] (instance) של [[מחלקה (תכנות)|מחלקה]] (class). בהמשך לדוגמה של הקובץ, "קובץ כלשהו" (a file) הוא מחלקה, ואילו "הקובץ הספציפי" (the file) הוא אובייקט. מחלקה משמשת כדי להגדיר פעם אחת את משתני המחלקה (properties) וההתנהגות (השגרות), ולאחר מכן ניתן להשתמש בה ליצירת הרבה מופעים (אובייקטים) מהסוג של אותה מחלקה. להבחנה זו בין מחלקה לאובייקט קיימות מקבילות גם בתחומי מדע אחרים, לדוגמה ב[[ביולוגיה]] ו[[אבולוציה]], שם היא ידועה כ[[דיכוטומיה|דיכוטומיית]] [[סוג (טקסונומיה)|סוג]]/[[מין (טקסונומיה)|מין]].
 
בתכנות מונחה-עצמים, אובייקט הוא בדרך כלל סט ארעי של תכונות (משתני מחלקה; באנגלית: properties או attributes) והתנהגויות (מתודות או שגרות) ה[[כימוס|מכמסות]] יישות כלשהי. בצורה כזו, מתקיימת הבחנה בין [[טיפוס נתונים|טיפוסי נתונים]] פשוטים או [[סקלר (מחשבים)|פרימיטיביים]] המהווים יחידות אינפורמציה בודדות, לבין אובייקטים של תכנות מונחה-עצמים המהווים טיפוסי נתונים מורכבים הכוללים הרבה יחידות מידע ותכונות ספציפיות. שלא כמו טיפוסי נתונים פרימיטיביים, להם ניתן לבצע [[פקודת השמה|השמה]] של [[ערך (מדעי המחשב)|ערך]] (לדוגמה, <code>int number = 10</code>), אובייקטים צריכים ל"היבנות" על ידי קריאה לפונקציית [[בנאי (מדעי המחשב)|constructor]].
 
אחד הרעיונות החשובים בתכנות מונחה-עצמים הוא רעיון ה[[תכנות מונחה-עצמים#ירושה|ירושה]] (inheritance) המאפשר להגדיר יחס מסוג [[is-a]] בין אובייקטים. לדוגמה, "a car '''is a''' vehicle", כלומר, "מכונית היא סוג של כלי רכב". ניתן לממש יחס כזה בתכנות מונחה-עצמים על ידי מימוש מחלקת <code>Vehicle</code> (כלי רכב) ומימוש של מחלקה נוספת <code>Car</code> (מכונית) שיורשת מהמחלקה <code>Vehicle</code>. בדוגמה זו המחלקה <code>Vehicle</code> היא מחלקת האב (superclass) והמחלקה <code>Car</code> היא המחלקה היורשת (subclass). לאחר שהוגדרה המחלקה <code>Car</code>, ניתן ליצור מספר בלתי מוגבל של אובייקטים (מופעים) מהטיפוס <code>Car</code> אשר כולם כוללים את כל התכונות וההתנהגויות (לדוגמה, "לנסוע") שהוגדרו במחלקה <code>Car</code>.
 
ניתן ליצור [[היררכיה]] של ירושה בין מחלקות, לדוגמה: "[[בעל חיים]]" יכולה להיות מחלקת אב של המחלקה "[[יונק]]" שממנה יורשת המחלקה "[[פרימט]]" שממנה יורשת המחלקה "[[אדם]]". פרטים ספציפיים כמו "יוסי לוי" ו"משה כהן" יהיו "אובייקטים" ממחלקת האדם ולכן יהיו להם גם כל התכונות הנכללות במחלקות: "אדם", "פרימט", "יונק" ו"בעל חיים".
 
 
[[קטגוריה:מדעי המחשב]]