slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
תכונות מחלקה שיטות מחלקה PowerPoint Presentation
Download Presentation
תכונות מחלקה שיטות מחלקה

Loading in 2 Seconds...

play fullscreen
1 / 25

תכונות מחלקה שיטות מחלקה - PowerPoint PPT Presentation


  • 129 Views
  • Uploaded on

תכונות מחלקה שיטות מחלקה. static variables static methods. עד עתה – תכונות שייכות לעצם. public class Student { private String name; private double grade; public Student( String name, double grade) { this.name = name; this.grade = grade; } }. תלמידי בית הספר.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'תכונות מחלקה שיטות מחלקה' - eloise


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

תכונות מחלקהשיטות מחלקה

static variables

static methods

slide2
עד עתה – תכונות שייכות לעצם

public class Student {

private String name;

private double grade;

public Student(String name, double grade) {

this.name = name;

this.grade = grade;

}

}

slide3
תלמידי בית הספר

public class Student {

private String name;

private double grade;

public Student(String name, double grade) {

this.name = name;

this.grade = grade;

}

סוס טרויאני ?!?!?!?

אין שיטה בונה !!!

slide4

avi

dani

name = “avi cohen”

grade = 93.4

name = “dani levi”

grade = 92.3

יצירת עצמים

Student avi = new Student(…);

Student dani = new Student(…);

slide5

avi

dani

name = “avi cohen”

grade = 93.4

name = “dani levi”

grade = 92.3

יצירת עצמים

Student avi = new Student(…);

Student dani = new Student(…);

התכונות שייכות לעצמים avi ו-dani

  • גישה פרטית מתוך העצם לערכים.
  • אין קשר בין הערכים בשני העצמים.
  • שניהם לפי תבנית המחלקה
slide6
מספר סידורי לתלמידים
  • בית הספר מבקש לתת לכל תלמיד מספר סידורי באופן רצוף.
  • ניצור לכל תלמיד תכונה חדשה 'מספר סידורי'.
  • אבל !!! זו דרישה לקשר בין עצמים שונים מאותה מחלקה:‹ צריך לדעת מי היה התלמיד הקודם שנוצר.‹צריך לדעת מה היה מספרו הסידורי.‹צריך לספור באופן רצוף.
slide7
איבר של מחלקה
  • מספר סידורי הוא אכן תכונה ייחודית לכל תלמיד.
  • אבל מונה המספרים הסידוריים הינו משתנה המשרת את כל העצמים במחלקה. ‹הוא מאותחל ל-0 לפני שנוצר עצם כלשהו.‹ערכו עולה ב-1 בזמן יצירת העצם.‹ ערכו מועתק למספר הסידורי של התלמיד.
  • מונה המספרים אינו משוייך לתלמיד ספציפי.
slide8
איבר של מחלקה

משתנה המשרת את כל עצמי המחלקה

ואינו משוייך לעצם כלשהו, קרוי

איבר של מחלקה

slide9
איבר של מחלקה

משתנה המשרת את כל עצמי המחלקה

ואינו משוייך לעצם כלשהו, קרוי

איבר של מחלקה

הצהרה ב-Java:

public class Student {

private static intcounter = 0;

private int id;

private String name;

private double grade;

public static int counter 0
public static intcounter = 0;
  • private – מאפשר גישה מהמחלקה בלבד
  • static – מגדיר את המשתנה כמשתנה מחלקה
  • אתחול – כבר בשלב ההגדרה
public static int counter 1
public static intcounter = 1;
  • private – מאפשר גישה מהמחלקה בלבד
  • static – מגדיר את המשתנה כמשתנה מחלקה
  • אתחול – כבר בשלב ההגדרה
  • Java יוצרת משתנה אחד עבור כל העצמים
  • לכל עצם יש גישה אליו.
  • כל עצם יכול לשנות את ערכו
slide12
שימוש במשתנה מחלקה

public Student(String name, double grade) {

this.name = name;

this.grade = grade;

this.counter++;

this.id = this.counter;

}

slide13

avi

dani

name = “avi cohen”

grade = 93.4

id = 1

name = “dani levi”

grade = 92.3

id = 2;

יצירת עצמים

Student avi = new Student(…);

Counter = 1

Student dani = new Student(…);

Counter = 2

Counter = 3

slide14

avi

dani

hagit

name = “avi cohen”

grade = 93.4

id = 1

name = “dani levi”

grade = 92.3

id = 2;

name = “hagit til”

grade = 97.5

id = 3;

3

התמונה המדוייקת

counter

יש עותק אחד בלבד של המשתנה counter

slide15
שיטות מחלקה
  • בג'אווה, הגישה לתכונות הינה באמצעות שיטות המשוייכות לעצם ספציפי.
  • איך ניגש לתכונות מחלקה, שאינן משוייכות לעצם?
  • באמצעות שיטות מחלקה.
getcounter
getCounter()

public static int getCounter() {

return this.counter;

}

שיטות סטטיות נגישות לתכונות סטטיות בלבד !!!

getcounter1
getCounter()

public static int getCounter() {

return this.counter;

}

שיטות סטטיות נגישות לתכונות סטטיות בלבד !!!

אבל... איך משתמשים בשיטה ????

slide18
שימוש בשיטות מחלקה

כמה תלמידים נוצרו ?

public static void main(String[] args) {

int num = Student.getCoutner();

System.out.printtln(num);

}

slide19
שימוש בשיטות מחלקה

כמה תלמידים נוצרו ?

public static void main(String[] args) {

int num = Student.getCoutner();

System.out.printtln(num);

}

פנייה אל המחלקה,

אליה שייכת השיטה

pro s and con s
Pro’s and Con’s
  • המשתנה הסטטי חוסך זכרון
  • מאפשר קשר בין עצמים
  • מאפשר ניהול עצמי המחלקה
  • מבצע בפשטות פעולה שהן מסובכות בלעדיו.
  • שובר את ההגיון של עצם ומחלקה סגורים.
  • פתח להשפעות הדדיות של עצמים זה על זה.
  • פתח לטעויות.
slide21
קבועים בשימוש המחלקה
  • אין טעם ליצור משתנה קבוע עבור כל עצם.
  • כמו כן, בגלל שהוא קבוע, אין חשש שישונה.
  • לכן, נהוג ליצור קבועים של מחלקה באופן הבא:

public static double GRAVITY = 9.81;

  • לקבועים אלה ניתן לגשת גם מחוץ למחלקה:

double newton =

avi.getMass() * Student.GRAVITY;

זאת בהנחה שהגדרנו את הקבוע במחלקה Student

slide22
פעולות שאינן קשורות לעצם
  • יש לא מעט פעולות שאינן קשורות לעצם:חישובים מתימטייםריקורסיה
  • לשם כך יוצרים 'מחלקות שירות' שכל תפקידן לספק את השירותים האלה.
slide23
למשל – המחלקה MATH
  • http://java.sun.com/j2se/1.3/docs/api
  • כל התכונות קבועים סטטים (E, PI)
  • כל השיטות סטטיות, למשל
  • public static int abs(double d)
  • חוסך יצירת עצם חסר משמעות.
java c
סטטי – JAVA – C
  • למעשה, שיטות סטטיות זהות לפונקציות ב-C, כי אינו משוייכות לעצם.
  • כך גם יוצרים ריקורסיה ב-java: שיטה סטטית, הקוראת לעצמה.
slide25
סיכום
  • תכונות (איברי)מחלקה :אתחול וגישה
  • שיטות מחלקה: הגדרה וגישה
  • קבועים סטטים
  • מחלקות עזר
  • ריקורסיות