אובייקטים ומחלקות חלק 1
הגדרת מחלקה ותכונות
• הגדרת מחלקה חדשה.
• יצירת אובייקטים מהמחלקה.
• הגדרת תכונות למחלקה.
• גישה לתכונות המחלקה.
הגדרת מחלקה
שם המחלקה מתחיל
public class MyClass
באות גדולה.
{
}
• הקוד נשמר בקובץ MyClass.java
public class Tester
{
public static void main(String[] args)
{
MyClass m = new MyClass();
}
}
MyClass יצירת אובייקט מהמחלקה
ערימה
מחסנית
1012
m
MyClass
;)(MyClass m = new MyClass
1012
ערימה
m2
null
מחסנית
;MyClass m2
2000
MyClass
;)(new MyClass
הפקודה newהיא הפקודה היחידה שיוצרת אובייקטים
בג'אווה .כלומר ,אם לא הופיעה הפקודה הזאת ,לא נוצר
אובייקט.
מושגי יסוד ביצירת אובייקטים
•
•
•
•
כדי ליצור אובייקט יש להשתמש בפקודה new
שיוצרת אובייקט בערימה.
כתובת האובייקט מוצבת למשתנה במחסנית.
אם נוצר רק משתנה בלי אובייקט ,המשתנה מכיל
את הערך nullשאומר שכרגע המשתנה לא מצביע
על אף אובייקט.
אובייקט שאף אחד לא מצביע עליו נמחק מהזיכרון
ע"י תהליך שנקרא .Garbage Collector
תכונות של מחלקה
• מחלקה מתארת ישות כלשהי בעולם ,ולכן היא
יכולה להכיל תכונות – שדות שמתארים את
האובייקטים.
• נניח שנרצה לכתוב מחלקה בשם Personשמייצגת
בן אדם.
• לכל בן אדם יהיו תכונות של שם ,ושל גיל.
תכונה של המחלקה
public class Person
{
;public String name
;public int age
}
תכונה היא בעצם הגדרה של משתנה רגיל ,כאשר
מקדימים לו את מאפיין הגישה – – Access Modifier
שקובע מי רשאי לגשת לתכונה .כרגע ,מאפיין הגישה
מסומן כ ,public-כלומר ,כל מי שרוצה רשאי לגשת
לתכונות.
public class Person
{
public String name;
public int age;
}
ערימה
Person
name
age
Yossi
17
public class Tester
{
public static void main(String[] args) {
Person p1 = new Person();
p1.name = “Yossi”;
p1.age = 17;
}
}
מחסנית
1012
1012
p1
public class Person
{
public String name;
public int age;
}
ערימה
Person
name
age
Yossi
17
מחסנית
1012
1012
public class Tester
{
public static void main(String[] args) {
Person p1 = new Person();
לאage שגיאת קומפילציה – המשתנה
age = 1;
מוכר בלי הקשר של אובייקט – "הגיל
}
."?של מי
}
p1
public class Person
{
public String name;
public int age;
}
ערימה
Person
name
age
}
}
1012
1012
17
Person
public class Tester
name
age
{
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Person();
p1.age = 17;
p2.age = 34;
מחסנית
34
p1
1030
1030 p2
תרגיל
• כתבו מחלקה בשם Bookשמייצגת ספר.
• למחלקה יהיו התכונות הבאות:
– שם הספר – מסוג .String
– מספר העמודים – מסוג .int
– מחיר הספר – מסוג .double
• כתבו תוכנית mainבמחלקה אחרת ,צרו
אובייקטים מסוג Bookוהציבו בתכונות שלהם
נתונים.
© Copyright 2025