מבוא לתכנות מונחה עצמים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Java של Coddy. שיעור 2 מתוך 87.
תכנות מונחה עצמים (OOP) הוא דרך לארגן קוד באמצעות עצמים המכילים נתונים והתנהגות.
מחלקה היא תוכנית אב
public class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public String makeSound() {
return this.name + " makes a sound!";
}
}אובייקט הוא מופע שנוצר מתוך התבנית
Animal dog = new Animal("Buddy");
System.out.println(dog.makeSound());פלט:
Buddy makes a sound!תכנות מונחה עצמים מאפשר לך למדל דברים מהעולם האמיתי כאובייקטים. לכל אובייקט יש נתונים (שדות) ופעולות (מתודות). ארבעת עמודי התווך של תכנות מונחה עצמים הם כימוס, הורשה, פולימורפיזם והפשטה.
אתגר
קלצרו מחלקה בשם Animal שמדגימה את היסודות של תכנות מונחה עצמים:
- שדה
name(String) - בנאי שמגדיר את השם
- מתודה
makeSound()שמחזירה"<name> makes a sound!"
נסו בעצמכם
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
Animal animal = new Animal(name);
System.out.println("Animal name: " + animal.name);
System.out.println(animal.makeSound());
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים
קבצים חיצונייםמבוא לתכנות מונחה עצמיםמחלקות לעומת אובייקטיםמילת המפתח thisמתודותשדות (מאפיינים)מתודת הבנאיהעמסת בנאיםחזרה – מחשבון פשוט4ירושה
ירושה בסיסית (extends)מילת המפתח superדריסת מתודות (@Override)שרשור בנאיםהמחלקה Objectירושה יחידה ורב־רמתיתלמה אין ירושה מרובה של מחלקותסיכום – היררכיית עובדים7מתודות מיוחדות ומחלקת Object
מתודת toString()equals() ו-hashCode()מתודת clone()compareTo() ו-Comparableהממשק Comparatorסיכום – מיון מותאם אישית2מצייני גישה ואנקפסולציה
סקירה של רמות הגישהמתודות Getter ו-Setterהסתרת מידעמילת המפתח finalסיכום – מנהל חשבון בנק5פולימורפיזם
יסודות העמסת מתודותדריסת מתודות (בזמן ריצה)המרה כלפי מעלה וכלפי מטההאופרטור instanceofמחלקות ומתודות מופשטותסיכום – מחשבון צורות8מושגי OOP מתקדמים
הרכבה מול ירושהאגרגציה מול הרכבהמחלקות פנימיות, מקוננות ואנונימיותEnums ומתודות של EnumRecords (Java 16+)מחלקות חתומות (Java 17+)3מאפייני מחלקה וחברים סטטיים
משתני מופע לעומת משתנים סטטייםמתודות סטטיותבלוקים סטטייםקבועים (static final)סיכום — מונה ומחלקת עזר6ממשקים ומחלקות מופשטות
מבוא לממשקיםמימוש ממשקיםמימוש של כמה ממשקיםמתודות ברירת מחדל וסטטיות בממשקמחלקות מופשטות לעומת ממשקיםממשקים פונקציונלייםסיכום – מערכת תשלומיםתרגלו בעצמכם: קומפיילר Java אונליין