דלג לתוכן

יצירת מחלקות

מדעי מחשב A - AP · נושא 3

שיעור וידאו לנושא זה פתח את עמוד הוידאו
7:26

יצירת מחלקות

הנה סטודנט, מאוחסן כשלושה משתנים נפרדים: שם, שנה ומדורג. זה עובד. כעת הוסף אלפי סטודנטים. תצטרך שלושת אלפים משתנים…

קריאת קול באנגלית · תרגום אנגלי + סינית שרוף בתוך הסרטון

3.1

שכלול ועיצוב תוכנה

סיילבוס

מטרות למידה 3.1.A: ייצוג עיצוב תוכנית באמצעות שפה טבעית או ליצירת דיאגרמות המציינות את הכיתות בתוכנית ואת השתקות הנתונים והשלכות המצויות בכל כיתה על ידיכלול כל האטריביוטים וההתנהגויות.

  • 3.1.A.1 השתקה היא תהליך של הפחתת מורכבות על ידי התמקדות ברעיון המרכזי. על ידי הסתרת פרטים שאינם רלוונטיים לשאלה הקיימת וקיבוצי פרטים קשורים ומفيدים, השתקה מפחיתה מורכבות ומאפשרת להתמקד ברעיון.
  • 3.1.A.2 השתקת נתונים מספקת הפרדה בין התכונות המופשטות של סוג נתונים לבין הפרטים הממשיים של ההצגה שלה. השתקת נתונים מנהלת מורכבות על ידי מתן שם לנתונים ללא הייחוס לפרטים הספציפיים של ההצגה. הנתונים יכולים לקבל צורה של משתנה בודד או אוסף נתונים, כגון בכיתה או בערכת נתונים.
  • 3.1.A.3 אטריביוט הוא סוג של השתקת נתונים המוגדרת בכיתה מחוץ לכל שיטה או בונה. משתנה אובייקט הוא אטריביוט שערכו ייחודי לכל אובייקט של הכיתה. משתנה כיתה הוא אטריביוט המשותף לכל האובייקטים של הכיתה.
  • 3.1.A.4 השתקה של שלבים מספקת שם לתהליך ומאפשרת לשיטה להיות מופעלת רק כאשר יודעים מה היא עושה, לא כיצד היא עושה זאת. באמצעות פירוק שיטות, מתכנת מפרק התנהגויות גדולות יותר של הכיתה להתנהגויות קטנות יותר על ידי יצירת שיטות המייצגות כל התנהגות קטנה בודדת. השתקת שלבים עשויה לחלץ מאפיינים משותפים כדי לגנרלize פונקציונליות במקום להכפיל קוד. זה מאפשר שימוש חוזר בקוד, שמסייע בניהול מורכבות.
  • 3.1.A.5 השימוש בפארמטרים מאפשר גנרלזציה של הליכים, ומאפשר לשימוש חוזר בהם עם מגוון ערכי כניסה או ארגומנטים.
  • 3.1.A.6 השימוש בהשתקת שלבים בתוכנית מאפשר למתכנתים לשנות את הפנים של שיטה (כדי להפכה מהירה יותר, יעילה יותר, לצרוך פחות אחסון, וכו') ללא הצורך בהודעת משתמשי השיטה על השינוי כל עוד חתימת השיטה ומה שהשיטה עושה נשמרים.
  • 3.1.A.7 לפני מימוש כיתה, מומלץ לקחת זמן לעצב כל כיתה כולל את האטריביוטים וההתנהגויות שלה. עיצוב זה ניתן לייצוג באמצעות שפה טבעית או דיאגרמות.

מקור: תיאור הקורס והמבחן של College Board AP

פאזל בתהליך: מחלקות ומתודות הן חלקים מודולריים לעיצוב תוכנה גדול יותר
פאזל בתהליך: מחלקות ומתודות הן חלקים מודולריים לעיצוב תוכנה גדול יותר

שכלול אומר להסתיר פרטים מאחורי ממשק פשוט – אתם משתמשים ב-String מבלי לדעת כיצד הוא מאחסן תוויות. עיצוב טוב מפצל בעיה למחלקות, שכל אחת אחראית על רעיון אחד. נושא זה עוסק בכתיבת המחלקות שלך.

פירוק תוכנה למודולים ותת-מודולים
פירוק תוכנית למודולים ותת-מודולים
3.2

השפעת עיצוב התוכנה

סיילבוס

מטרות למידה 3.2.A: הסבר על ההשלכות החברתיות והאתיות של מערכות מחשוב.

  • 3.2.A.1 אמינות מערכת מתייחסת ליכולת התוכנית לבצע את משימותיה כפי שצפוי בתנאים המפורשים ללא כישלון. מתכנתים צריכים להשקיע מאמץ במקסום אמינות המערכת על ידי בדיקת התוכנית עם מגוון תנאים שונים.
  • 3.2.A.2 יצירת תוכניות משפיעה על החברה, הכלכלה והתרבות. השפעות אלו יכולות להיות גם חיוביות וגם שליליות. תוכניות שמיועדות למלא צורך או לפתור בעיה עשויות לגרום להשלכות מזיקות לא רצויות מעבר לשימוש הנכון שלהן.
  • 3.2.A.3 נושאים משפטיים ודאגות בנוגע לזכויות יוצרים ועליון אינטלקטואלי נובעים במהלך יצירת תוכניות. מתכנתים לעיתים קרובות משתמשים מחדש בקוד שנכתב על ידי אחרים ופורסם כקוד פתוח ומחופשי לשימוש. שימוש בקוד שאינו פורסם כקוד פתוח דורש מהמתכנת לקבל רשות ולעיתים קרובות גם לרכוש את הקוד לפני שמשלב אותו בתוכנית שלו.

מקור: תיאור הקורס והמבחן של College Board AP

בחירות עיצוב משפיעות על כך שהקוד יהיה נכון, קריא ושימוש-מחדש. אקספולציה – שמירת נתונים כפרטיים וחשיפתם רק דרך מתודות – מגנה על מצב האובייקט משימוש לא תקין ומאפשרת לשנות את הפנים מבלי לפגוע במשתמשי המחלקה. סימון מחושב, מתודות בעלות מטרה אחת ובדיקות מקטינים באגים.

העיצוב כולל גם אחריות מעבר לקוד. אמינות מערכת - ביצוע תוכנית למשימותיה בצורה הצפויה, ללא כשל - הוא משהו שתוכנתנים צריכים למקסם דרך עיצוב ובדיקה קפדניים. לתוכניות יש השפעות אמיתיות על החברה, הכלכלה והתרבות שיכולות להיות גם מועילות וגם מזיקות. ויצירת תוכניות מעלה דאגות משפטיות ורכושיות: תוכנתנים לעיתים קרובות משתמשים מחדש בקוד שפורסם כ-code פתוח וזמין בחינם, אך עליהם לכבד את הרישיון שלו ולהעריך זכות במקום להעתיק עבודת אחרים כשלהם.

3.3

אנטומיה של מחלקה

סיילבוס

מטרות למידה 3.3.A: פיתוח קוד כדי לקבוע מגבלות גישה ונראות עבור מחלקות, נתונים, בוני-בנייה (constructors) ומתודות.

  • 3.3.A.1 עיטוף נתונים היא טכניקה בה פרטי היישום של מחלקה נשמרים בסתר ממחלקות חיצוניות. המילים public וprivate משפיעות על הגישה למחלקות, נתונים, בוני-בנייה ומתודות. המילה private מגבילה גישה למחלקה המצהירה בלבד, בעוד שהמילה public מאפשרת גישה ממחלקות מחוץ למחלקה המצהרת.
  • 3.3.A.2 בקורס זה, מחלקות מסומנות תמיד כpublic ומוגדרות עם המילה class.
  • 3.3.A.3 בקורס זה, בוני-בנייה מסומנים תמיד כpublic.
  • 3.3.A.4 משתנים ממוחלקים (Instance variables) שייכים לאובייקט, ולכל אובייקט יש העתק משלו של המשתנה.
  • 3.3.A.5 גישה לתכונות (attributes) צריכה להיות מוגבלת בפנים המחלקה כדי להשגת עיטוף. לכן, זוהי שיטה תכנותית טובה לסמן את המשתנים הממוחלקים עבור תכונות אלו כprivate אלא אם כן שיתוף הפעולה של המחלקה קובע אחרת.
  • 3.3.A.6 גישה להתנהגויות יכולה להיות פנימית או חיצונית למחלקה. מתודות המסומנות כpublic ניתנות לגישה פנימית או חיצונית למחלקה, בעוד שמתודות המסומנות כprivate ניתנות לגישה רק בפנים המחלקה.

מקור: תיאור הקורס והמבחן של College Board AP

למחלקה יש שלושה חלקים: משתני instance (שדות – הנתונים של האובייקט), constructors (בונים אובייקטים) ו-מתודות (התנהגות). שדות הם בדרך כלל private; מתודות הן בדרך כלל public:

תרשים מחלקה: מאפיינים פרטיים ושיטות ציבוריות
תרשים מחלקה: מאפיינים פרטיים ושיטות ציבוריות
public class Student {
    private String name;      // instance variable
    private int score;

    public Student(String n, int s) {   // constructor
        name = n;
        score = s;
    }
    public int getScore() { return score; }   // accessor
}
תוכנית: מחלקה היא תבנית המגדירה כיצד אובייקטים מסוג זה נבנים
תוכנית: מחלקה היא תבנית המגדירה כיצד אובייקטים מסוג זה נבנים
חקור

ראו שדות של אובייקת כתיבות

מחלקה מקבוצה נתונים קשורים (ה-שדות שלה) ומתודות. לכל אובייקת יש סט תיבות שדות משלו; שינוי בשדה של אחד משנה רק את האובייקת ההוא.

מילון מונחים אימון
English עברית
Abstraction/əbˈstrækʃn/ אבסטרקציה
Encapsulation/ɪnˌkæpsjʊˈleɪʃn/ עטיפה
System reliability/ˈsɪstəm rɪˌlaɪəˈbɪlɪti/ אמינות מערכת
legal and intellectual-property/ˈliːɡl ænd ˌɪntəˈlektʃuːəl ˈprɒpəti/ זכויות משפטיות ונכסי קניין רוחני
open source/ˈəʊpən sɔːs/ קוד פתוח
instance variables/ˈɪnstəns ˈveərɪəblz/ משתני אקספלן (Instance variables)
constructor/kənˈstrʌktə/ בונה
accessor (getter)/əkˈsesə/ שליף (getter)
3.4

Constructors

סיילבוס

מטרות למידה 3.4.A: פיתוח קוד כדי להצהיר משתנים ממוחלקים עבור התכונות שיועדים להתחיל בשיקוף בוני-הבנייה של מחלקה.

  • 3.4.A.1 מצב (state) של אובייקט מתייחס לתכונותיו וערכיהן בזמן נתון, והוא מוגדר על ידי משתנים ממוחלקים השייכים לאובייקט. הדבר מגדיר יחס "יש-א-" (has-a) בין האובייקט לבין המשתנים הממוחלקים שלו.
  • 3.4.A.2 בונה-בנייה משמש להגדרת המצב ההתחלתי של אובייקט, הכולל ערכים התחלתיים לכל המשתנים הממוחלקים. כאשר בונה-בנייה נקרא, זיכרון מוקצה עבור האובייקט והערות האובייקט הקשורה מוחזרת. פרמטרי בונה-הבנייה, אם מצוינים, מספקים נתונים להתחלת משתנים ממוחלקים.
  • 3.4.A.3 כאשר אובייקט משתנה (mutable object) הוא פרמטר בונה-בנייה, המשתנה הממוחלק צריך להתחיל בהעתק של האובייקט המצויין. באופן זה, המשתנה הממוחלק אינו מחזיק ברפרנס לאובייקט המקורי, ומתודות מונעות משינוי המצב של האובייקט המקורי.
  • 3.4.A.4 כאשר אין כתוב בונה-בנייה, Java מספקת בונה-בנייה ללא פרמטרים, והמשתנים הממוחלקים מוגדרים לערכים ברירת מחדל בהתאם לסוג הנתונים של התכונה. בונה זה מכונה בונה-בנייה ברירת מחדל.
  • 3.4.A.5 הערך הרירת מחדל לתכונה מסוג int הוא 0. הערך ברירת מחדל לתכונה מסוג double הוא 0.0. הערך ברירת מחדל לתכונה מסוג boolean הוא false. הערך ברירת מחדל לסוג עיטוף (reference type) הוא null.

מקור: תיאור הקורס והמבחן של College Board AP

Constructor יש לו אותו שם כמו המחלקה ואין לו סוג החזרה. הוא רץ כאשר אתם כותבים new, ומשימתו היא לאיפוס השדות. למחלקה יכול להיות מספר several constructors עם רשימות פרמטרים שונות (overloading); constructor ללא פרמטרים קובע ברירת מחדל.

מילון מונחים אימון
English עברית
overloading/ˌəʊvəˈləʊdɪŋ/ עמיסה (Overloading)
3.5

שיטות: כיצד לכתוב אותן

סיילבוס

מטרות למידה 3.5.A: פיתוח קוד להגדרת התנהגויות של אובייקט באמצעות שיטות שנכתבו בכיתה, תוך שימוש בערכים ראשוניים, וקביעת התוצאה של קריאת שיטות אלו.

  • 3.5.A.1 שיטה void אינה מחזירה ערך. החוליה שלה מכילה את המפתח void לפני שם השיטה.
  • 3.5.A.2 מתודה שאינה void מחזירה ערך יחיד. הכותרת שלה כוללת את סוג ההחזרה במקום המילת המפתח void.
  • 3.5.A.3 במתודות שאינן void, ביטוי החזרה תואם לסוג ההחזרה מוערך והערך מוחזר. דבר זה מכונה החזרה בערך (return by value).
  • 3.5.A.4 המפתח return משמש להחזרת זרימת הביצועים לנקודה שבה הושעלה השיטה או הקונסטרוקטור. כל קוד הנמצא לאחר פקודת return לא יופעל לעולם. ביצוע פקודת return בתוך ביטוי בחירה או חזרה יפסיק את הביטוי ויצא מהשיטה או מהקונסטרוקטור.
  • 3.5.A.5 מתודת גישה מאפשרת לאובייקטים ממחלקות אחרות לקבל העתק של ערך המשתנים האינסטנציה או משתני המחלקה. מתודת גישה היא מתודה שאינה void.
  • 3.5.A.6 מתודת שינוי (מודיפייר) היא מתודה המשנה את ערכי המשתנים האינסטנציה או משתני המחלקה. מתודת שינוי היא לעיתים קרובות מתודה void.
  • 3.5.A.7 שיטות עם פרמטרים מקבלות ערכים דרך פרמטרים אלו ומשתמשות בערכים אלו כדי לבצע את משימת השיטה.
  • 3.5.A.8 כאשר הארגומנט הוא ערך ראשוני, הפרמטר מצופיין בהעתק של הערך הזה. שינויים בפרמטר אינם משפיעים על הארגומנט המתאים.

מקור: תיאור הקורס והמבחן של College Board AP

לשיטה יש חתימה, סוג החזרה וגוף. אקססור (Getter) מחזיר מידע מבלי לשנות את האובייקט; מיוטטור (Setter) משנה שדה. לשיטה שמחזירה ערך חייב להיות return מהסוג הנכון בכל מסלול; שיטת void לא מחזירה כלום.

public void setScore(int s) { score = s; }   // mutator
public String toString() { return name + ": " + score; }
חקור

עקוב אחר קריאת מתודה והחזרת הערך

כאשר קוראים מתודה, דוחפים מסגרת עם הפרמטרים שלה; כאשר היא מגיעה לreturn, המסגרת נדחסת והערך חוזר לקורא.

מילון מונחים אימון
English עברית
mutator (setter)/mjuːˈteɪtə/ מוטור (סטטר)
static (class) variable/ˈstætɪk ˈveərɪəbl/ משתנה סטטי (קלאסי)
3.6

העברת והשבת רפרנסים של אובייקט

סיילבוס

מטרות למידה 3.6.A: פיתוח קוד להגדרת התנהגויות של אובייקט באמצעות שיטות שנכתבו בכיתה, תוך שימוש ברפרנסים של אובייקטים, וקביעת התוצאה של קריאת שיטות אלו.

  • 3.6.A.1 כאשר הארגומנט הוא רפרנס של אובייקט, הפרמטר מצופיין בהעתק של הרפרנס הזה; הוא אינו יוצר העתק עצמאי חדש של האובייקט. אם הפרמטר מתייחס לאובייקט מתחלף (mutable), השיטה או הקונסטרוקטור יכולים להשתמש ברפרנס זה כדי לשנות את המצב של האובייקט. מנהג טוב בתכנות הוא לא לשנות אובייקטים מתחלפים שעברו כפרמטרים, אלא אם כן נדרש במפרט.
  • 3.6.A.2 כאשר ביטוי ההחזרה מוערך לרפרנס של אובייקט, הרפרנס מוחזר, ולא רפרנס להעתק חדש של האובייקט.
  • 3.6.A.3 שיטות אינן יכולות לגשת לנתונים פרטיים ולשיטות פרטיות של פרמטר המכיל רפרנס לאובייקט, אלא אם הפרמטר הוא מאותו סוג כמו הכיתה המקיפה את השיטה.

מקור: תיאור הקורס והמבחן של College Board AP

= מעתיק את הייחוס, לא את האובייקט

כשעוברים אובייקט לשיטה, Java מעתיקה את הרפרנס, ולכן השיטה פועלת על האותו אובייקט – שינויים בשדותיו נראים לקורא. (פרימיטיבים מועברים בערך, ולכן שינויים בהם אינם נראים.) שיטה יכולה גם להשיב רפרנס לאובייקט. מכיוון ש-String הוא בלתי משתנה, העברתו בטוחה; העברת אובייקט משתנה מאפשרת לשיטה לשנות אותו.

Java מעבירה בערך: השיטה מקבלת העתק; העברה אמיתית לפי רפרנס, שאין ל-Java, הייתה מאפשרת לה להחליף את המשתנה של הקורא
Java תמיד מעבירה בערך (משמאל): השיטה מקבלת העתק של הרפרנס. העברה אמיתית לפי רפרנס (מימין) — שאין ל-Java — הייתה מאפשרת לשיטה להחליף את המשתנה עצמי של הקורא.

מיומנות למבחן: לדעת שהשמטת שדות של אובייקט בתוך שיטה משפיעה על המקורי, אך החלפת הפרמטר (param = new...) אינה משפיעה על הקורא.

דוגמה פתורה. נניח ש-s הוא Student עם ציון 50, וקוראים ל-tweak(s):

public static void tweak(Student a) {
    a.setScore(100);          // (1) mutates the shared object
    a = new Student("Z", 0);  // (2) repoints the local copy only
    a.setScore(5);            // (3) changes only the new local object
}

השורה (1) משנה את מה שהאובייקט s מצביע אליו, ולכן הקורא רואה כעת את 100. השורה (2) יוצרת העתק פרטית של הייחוס בתוך המטודה שמצביעה אל אובייקט חדש – הייחוס s של הקורא נותר ללא שינוי – והשורה (3) משפיעה רק על אובייקט חדש זה. לאחר השיחה, s.getScore() הוא 100: המוטציה התבצעה, אך ההחזת הייחוס לא.

3.7

משתני מחלקה ומשתני מחלקה (Static Methods)

סיילבוס

מטרות למידה 3.7.A: פיתוח קוד להגדרת התנהגויות של כיתה באמצעות שיטות כיתה.

  • 3.7.A.1 שיטות כיתה אינן יכולות לגשת או לשנות את ערכי משתני המוסף או לקרוא לשיטות מוסף ללא קבלת מוסף של הכיתה דרך פרמטר.
  • 3.7.A.2 שיטות כיתה יכולות לגשת או לשנות את ערכי משתני הכיתה ויכולות לקרוא לשיטות כיתה אחרות.

מטרות למידה 3.7.B: פיתוח קוד להצהרת משתני הכיתה השייכים לכיתה.

  • 3.7.B.1 משתני מחלקה שייכים למחלקה, וכל האובייקטים במחלקה משתפים עותק אחד של משתנה זה. משתני מחלקה מסומנים עם המילאה static לפני סוג המשתנה.
  • 3.7.B.2 משתני מחלקה שמסומנים public נגישים מחוץ למחלקה באמצעות שם המחלקה ואופרטור הנקודה, שכן הם קשורים למחלקה ולא לאובייקטים של המחלקה.
  • 3.7.B.3 כאשר משתנה מוגדר כ-final, הערך שלו אינו ניתן לשינוי.

מקור: תיאור הקורס והמבחן של College Board AP

שדות static לעומת שדות instance

משתנה static (של מחלקה), המסומן static, משותף לכל האובייקטים של המחלקה – העתק אחד בסך הכל (למשל, סופר לכמה אובייקטים קיימים). שיטת static שייכת למחלקה ואינה יכולה להשתמש ישירות בשדות instance. גישה אליהם מתבצעת על ידי שם המחלקה: Student.getCount().

3.8

תחום (Scope) וגישה

סיילבוס

מטרת הלמידה 3.8.A: הסבר היכן משתנים יכולים לשמש בקוד.

  • 3.8.A.1 משתנים מקומיים הם משתנים המוגדרים בתוך הכותרות או הגוף של בלוקי קוד. משתנים מקומיים ניתנים לגישה רק בתוך הבלוק שבו הם מוגדרים. מכיוון שבניינים ומתודות הם בלוקי קוד, הפרמטרים לבניינים ולמתודות נחשבים גם הם כמשתנים מקומיים. משתנים אלו יכולים לשמש רק בתוך הבונה או המתודה ואינם יכולים להיות מסומנים כ-public או כ-private.
  • 3.8.A.2 כאשר קיים משתנה מקומי או פרמטר בעל אותו שם כמושתנה מופע, השם יתייחס למשתנה המקומי במקום למשתנה המופע בתוך גוף הבונה או המתודה.

מקור: תיאור הקורס והמבחן של College Board AP

תחום (Scope) הוא המקום שבו שם נתון נראה. משתנה מקומי שהוכרז בתוך שיטה קיים רק בתוכה; פרמטר קיים רק בשיטה שלו; משתנה instance נראה בכל האובייקט. מודפי גישה שולטים בנראות בין מחלקות: private (המחלקה הזו בלבד) מול public (בכל מקום). משתנים מקומיים מסתרים (Shadow) שדות באותו שם – זהו מקור ל bugs.

משתנה גלובלי נראה בכל מקום; משתנה לוקאלי רק בתוך הבלוק שלו
משתנה גלובלי נראה בכל מקום; משתנה מקומי רק בתוך הבלוק שלו
מילון מונחים אימון
English עברית
Scope/skəʊp/ תחום תוקף
3.9

המילה המפורשת this

סיילבוס

מטרת הלמידה 3.9.A: פיתוח קוד עבור ביטויים המפנים לעצמם וקביעת התוצאה של ביטויים אלו.

  • 3.9.A.1 בתוך מתודת מופע או בונה, המילה this פועלת כמשתנה מיוחד המשמר הפניה לאובייקט הנוכחי—האובייקט שמתודתו או בונהו נקראים.
  • 3.9.A.2 המילה this יכולה לשמש להעברת האובייקט הנוכחי כארגומנט בקריאת מתודה.
  • 3.9.A.3 מתודות מחלקה אינן מכילות הפניה ל-this.

מקור: תיאור הקורס והמבחן של College Board AP

this הוא רפרנס לאובייקט הנוכחי. ניתן להשתמש בו כדי להבדיל בין שדה לבין פרמטר באותו שם, או לקרוא לשיטה אחרת באותו אובייקט:

public Student(String name, int score) {
    this.name = name;      // this.name is the field; name is the parameter
    this.score = score;
}

מיומנות למבחן: כאשר לפרמטר של Constructor או Setter יש אותו שם כמו לשדה, חובה לכתוב this.field = param – ללא this, ההקלדה אינה עושה דבר שימושי.

3.9

טיפים לבחינות

  • עיצוב עם שיטות וכיתות: אקפסולציה נתונים כשדות private וחשיפת התנהגות דרך שיטות ציבוריות.
  • להבין את ההבדל בין אובייקט לכיתה שלו, ולעובדה שאובייקטים עוברים ערך — הפרמטר מקבל העתק של הייחוס, כך ששיטה יכולה לשנות את מצב האובייקט, אך השבתת התייחסות בפרמטר אינה משפיעה על הקורא (ב-Java אין מעבר בהפניה).
  • לעבור על מערכים ועל ArrayList בטוח — הגודל הוא length מול .size(), והסרה במהלך לולאה מזיזה את האינדקסים.
  • מעקב בשיטה רקורסיבית כדי לקבוע תוצאתה: למצוא תחילה את המקרה הבסיסי, ולאחר מכן לעקוב אחרי כל קריאה רקורסיבית עד לתוצאת החזרה (כתיבת קוד רקורסיבי היא מחוץ להיקף המבחן).
  • לזהות מושגי ירישה: כיתה עליונה, כיתה תחתונה, חפיסת שיטה, וכל כיתה היא כיתה תחתונה של Object (עיצוב והטמעת ירישה הם מחוץ להיקף המבחן).

שיעורים אינטראקטיביים בנושא זה

לעבור על הדברים צעד אחר צעד, עם תרגילים לבדיקה מיידית.

מבחני עבר

נושאים נוספים במדעי מחשב A - AP

היכנס או צור חשבון

IGCSE, A-Level & AP