Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему תכנות מכוון עצמים ושפת JAVA

Содержание

ביחידה זו נלמד:תכונות סטטיותשיטות סטטיותשימוש בתכונות סטטיות כקבועיםהמחלקה java.lang.Mathהמחלקה java.util.Randomהמחלקה Arraysenum
הרצאה 05תכונות ושיטות סטטיותתכנות מכוון עצמים ושפת JAVA© Keren Kalif ביחידה זו נלמד:תכונות סטטיותשיטות סטטיותשימוש בתכונות סטטיות כקבועיםהמחלקה java.lang.Mathהמחלקה java.util.Randomהמחלקה Arraysenum תכונות סטטיותתכונת מופע (Instance Attribute)עד כה ראינו שתכונה במחלקה משוכפלת עבור כל public static void main(String[] args) { משתנה סטטי כקבוע במחלקהיתכן ונרצה שהמשתנה יהיה קבוע, משמע שלא ניתן לשנותוקבוע דוגמא למשתנה סטטי כקבוע במחלקה יצירת ID אוטומטי  public class Person  { שיטות סטטיותשיטה סטטית היא שיטה הנכתבת בתוך מחלקה, אך אין צורך לייצר דוגמא:  החזרת מספר  האנשים שנוצרושיטה סטטיתקריאה לשיטה הסטטית בעזרת שם מחלקות הנותנות שירותיםישנן מחלקות שרק נותנות שירותים, כלומר יש להן אוסף שיטות המחלקה Mathהמחלקה Math מכילה שיטות מתמטיות, שכולן סטטיות וכן משתנים סטטייםדוגמאות:הקבועים E המחלקה Math – דוגמת שימוש קבלת מספרים אקראייםהשיטה random מחזירה מספר עשרוני בטווח 1-0 קבלת מספרים אקראיים בטווח מסוייםנכפיל את הערך המוחזר בכמות המספרים שנרצה בטווח, ונעשה casting ל- int המחלקה Randomאובייקט מהמחלקה Random מגריל ערכים בהתפלגות נורמלית המחלקה ArraysArrays.copyOf היא שיטה סטטית המקבלת כפרמטר מערך להעתקה ואת הגודל של אבחנה בין העתקת מערך לבין העתקת הפניהכלומר, העתקת מערך יוצרת מופע נוסף כיצד עובדת השיטה Arrays.copyOf עבור אובייקטים?האם copyOf מייצרת העתקים של האובייקטים או Arrays ואובייקטים – דוגמא נוספתעכשיו: ל- arr1 ו- arr3 יש הפניה יחודית מהו enumenum הינה דרך להגדרת טיפוס חדש שערכיו יהיו מקבוצת קבועים בעלי דוגמאהגדרת קבוצת קבועים ע הגדרת enum בתוך מחלקהשימוש בקבוע enum שהוגדר בתוך מחלקה יהיה עם קידומת שם המחלקה ביחידה זו למדנו:תכונות סטטיותשיטות סטטיותשימוש בתכונות סטטיות כקבועיםהמחלקה java.lang.Mathהמחלקה java.util.Randomהמחלקה Arraysenum© Keren Kalif
Слайды презентации

Слайд 2 ביחידה זו נלמד:

תכונות סטטיות
שיטות סטטיות
שימוש בתכונות סטטיות כקבועים
המחלקה

ביחידה זו נלמד:תכונות סטטיותשיטות סטטיותשימוש בתכונות סטטיות כקבועיםהמחלקה java.lang.Mathהמחלקה java.util.Randomהמחלקה Arraysenum

java.lang.Math
המחלקה java.util.Random
המחלקה Arrays
enum


Слайд 3 תכונות סטטיות
תכונת מופע (Instance Attribute)
עד כה ראינו שתכונה

תכונות סטטיותתכונת מופע (Instance Attribute)עד כה ראינו שתכונה במחלקה משוכפלת עבור

במחלקה משוכפלת עבור כל אובייקט הנוצר מהמחלקה
תכונת מחלקה (תכונה

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


Слайд 4 public static void main(String[]

public static void main(String[] args) {   Person

args) {
Person p1

= new Person("Gogo", 14);
Person p2 = new Person("Momo", 23);
Person p3 = new Person("Yoyo", 19);
p1. setLicenseAge(18); // same as: p2. setLicenseAge (18);

System.out.println(p1.toString());
System.out.println(p2.toString());
System.out.println(p3.toString());

System.out.println("Changing adult age to be 21:");
p2.setLicenseAge(21); // same as: p3.setLicenseAge (21);
System.out.println(p1.toString());
System.out.println(p2.toString());
System.out.println(p3.toString());
} // main

דוגמא: Person

public class Person {
private static int licenseAge;
private string name;
private int age;

public Person(string name, int age) {
this.name = name;
this.age = age;
}

public void setLicenseAge(int age) {
licenseAge = age;
}

public string toString() {
string str = "";
str += "Name: " + name;
str += "\tAge: " + age + " (";
if (age < licenseAge)
str += “can not drive";
else
str += “can drive";
str += ")";
return str;
}
} // class Person

Person::licenseAge=0

Person::licenseAge=18

Person::licenseAge=21

שימוש במשתנה הסטטי

משתנה סטטי,
מאותחל ל- 0


Слайд 5 משתנה סטטי כקבוע במחלקה
יתכן ונרצה שהמשתנה יהיה קבוע,

משתנה סטטי כקבוע במחלקהיתכן ונרצה שהמשתנה יהיה קבוע, משמע שלא ניתן

משמע שלא ניתן לשנותו
קבוע זה יהיה משותף לכל האובייקטים

מטיפוס המחלקה ולכן נרצה שהוא יהיה חלק מהמחלקה (למשל ADULT_AGE)
מאחר וקבוע זה משותף לכל האובייקטים עליו להיות static
מאחר והוא קבוע ולא נרצה שישנו אותו נגדיר אותו כ- final
מאחר ולא ניתן לשנות את ערכו ניתן להגדיר קבוע זה כ- public
מאחר ומשתנה סטטי נוצר לפני יצירת אפילו אובייקט אחד, והוא public ניתן לגשת אליו רק עם שם המחלקה

מקובל להגדיר קבועים באותיות גדולות (ראו המלצה זו כמחייבת!)


Слайд 6 דוגמא למשתנה סטטי כקבוע במחלקה



דוגמא למשתנה סטטי כקבוע במחלקה

Слайд 7 יצירת ID אוטומטי
public class Person

יצירת ID אוטומטי public class Person {  private static int

{
private static int counter;

private string name;
private int age;
private int id;

public Person(string name, int age) {
this.name = name;
this.age = age;
id =
}

public int getNumOfPersons() {
return counter;
}

public string toString() {
string str = "";
str += "Id: " + id;
str += "\tName: " + name;
str += "\tAge: " + age;
return str;
}
} // class Person

static void main(String[] args) {
Person p1 = new Person("Gogo", 14);
System.out.println(
+ “ persons have been created”);
Person p2 = new Person("Momo", 23);
System.out.println(
+ “ persons have been created“);
System.out.println(p1.toString());
System.out.println(p2.toString());
System.out.println(p2.getNumOfPersons()
+ “ persons have been created“);
} // main

Person::counter=0

“Gogo” 14

++counter;

Person::counter=1

p1.getNumOfPersons()

p1.getNumOfPersons()

“Momo” 23

Person::counter=2


Слайд 8 שיטות סטטיות

שיטה סטטית היא שיטה הנכתבת בתוך מחלקה,

שיטות סטטיותשיטה סטטית היא שיטה הנכתבת בתוך מחלקה, אך אין צורך

אך אין צורך לייצר אובייקט על מנת להפעיל אותה
נכתוב

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


Слайд 9 דוגמא: החזרת מספר האנשים שנוצרו
שיטה סטטית
קריאה לשיטה הסטטית

דוגמא: החזרת מספר האנשים שנוצרושיטה סטטיתקריאה לשיטה הסטטית בעזרת שם המחלקהקריאה לשיטה הסטטית בעזרת אובייקט

בעזרת שם המחלקה
קריאה לשיטה הסטטית בעזרת אובייקט


Слайд 10 מחלקות הנותנות שירותים
ישנן מחלקות שרק נותנות שירותים, כלומר

מחלקות הנותנות שירותיםישנן מחלקות שרק נותנות שירותים, כלומר יש להן אוסף

יש להן אוסף שיטות ללא תכונות
במחלקה כזו כל השיטות

הן סטטיות, שכן אם אין תכונות, אין משמעות לאובייקט
יתכן ומחלקה זו גם תכיל אוסף של קבועים
למשל, המחלקה Math

Слайд 11 המחלקה Math
המחלקה Math מכילה שיטות מתמטיות, שכולן סטטיות

המחלקה Mathהמחלקה Math מכילה שיטות מתמטיות, שכולן סטטיות וכן משתנים סטטייםדוגמאות:הקבועים

וכן משתנים סטטיים
דוגמאות:
הקבועים E ו- PI
השיטות:
Abs
Cos
Pow
Sqrt
ועוד רבות, מומלץ להסתכל!


Слайд 12 המחלקה Math – דוגמת שימוש

המחלקה Math – דוגמת שימוש

Слайд 13 קבלת מספרים אקראיים
השיטה random מחזירה מספר עשרוני בטווח

קבלת מספרים אקראייםהשיטה random מחזירה מספר עשרוני בטווח 1-0

1-0


Слайд 14 קבלת מספרים אקראיים בטווח מסויים
נכפיל את הערך המוחזר

קבלת מספרים אקראיים בטווח מסוייםנכפיל את הערך המוחזר בכמות המספרים שנרצה בטווח, ונעשה casting ל- int

בכמות המספרים שנרצה בטווח, ונעשה casting ל- int




Слайд 15 המחלקה Random
אובייקט מהמחלקה Random מגריל ערכים בהתפלגות נורמלית



המחלקה Randomאובייקט מהמחלקה Random מגריל ערכים בהתפלגות נורמלית

Слайд 16 המחלקה Arrays


Arrays.copyOf היא שיטה סטטית המקבלת כפרמטר מערך

המחלקה ArraysArrays.copyOf היא שיטה סטטית המקבלת כפרמטר מערך להעתקה ואת הגודל

להעתקה ואת הגודל של המערך החדש. השיטה מבצעת השמה

בין איבר לאיבר. אם גודל המערך החדש יותר גדול, שאר איבריו יאופסו.

Arrays.toString היא שיטה סטטית המקבלת כפרמטר מערך ומחזירה מחרוזת כך שאיברי המערך מופרדים ע"י פסיק





Arrays.equals היא שיטה סטטית המקבלת 2 מערכים ובודקת האם הם שווים: האם אורכם זהה והאם האיברים במקומות המתאימים זהים



Слайд 17 אבחנה בין העתקת מערך לבין העתקת הפניה





כלומר, העתקת

אבחנה בין העתקת מערך לבין העתקת הפניהכלומר, העתקת מערך יוצרת מופע

מערך יוצרת מופע נוסף בלתי תלוי של האובייקט, בעוד

שהשמה רק משנה את ההפניה.

Слайд 18 כיצד עובדת השיטה Arrays.copyOf עבור אובייקטים?
האם copyOf מייצרת

כיצד עובדת השיטה Arrays.copyOf עבור אובייקטים?האם copyOf מייצרת העתקים של האובייקטים

העתקים של האובייקטים או רק מפנה אליהם?
מאחר ושינוי במערך

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

Слайд 19 Arrays ואובייקטים – דוגמא נוספת








עכשיו:
ל- arr1 ו-

Arrays ואובייקטים – דוגמא נוספתעכשיו: ל- arr1 ו- arr3 יש הפניה

arr3 יש הפניה יחודית לאיבר באינדקס 2.
ל- arr2

יש הפניה יחודית לאיבר באינדקס 3.

Слайд 20 מהו enum
enum הינה דרך להגדרת טיפוס חדש שערכיו

מהו enumenum הינה דרך להגדרת טיפוס חדש שערכיו יהיו מקבוצת קבועים

יהיו מקבוצת קבועים בעלי קשר לוגי שיוגדרו עבורו
קבועים אלו

יהיו מספרים סידורים החל מ- 0
ניתן להגדיר משתנה מטיפוס קבוצה זו וערכו יהיה רק מקבוצת הקבועים שהוגדרו בקבוצה

Слайд 21 דוגמא






הגדרת קבוצת קבועים ע"י enum
מתן ערך למשתנה מטיפוס

דוגמאהגדרת קבוצת קבועים ע

הקבוצה
קבלת הערך המספרי של הקבוע
קבלת השם של הקבוע
קבלת מערך

עם כל איברי הקבוצה

קליטת ערך למשתנה באמצעות קבלת שם הקבוע.
אם יוכנס ערך שאינו בקבוצה תיזרק חריגה.


Слайд 22 הגדרת enum בתוך מחלקה
שימוש בקבוע enum שהוגדר בתוך

הגדרת enum בתוך מחלקהשימוש בקבוע enum שהוגדר בתוך מחלקה יהיה עם קידומת שם המחלקה

מחלקה יהיה עם קידומת שם המחלקה



  • Имя файла: תכנות-מכוון-עצמים-ושפת-java.pptx
  • Количество просмотров: 97
  • Количество скачиваний: 0