2007 Zindell Technologies, Ltd.

Size: px
Start display at page:

Download "2007 Zindell Technologies, Ltd."

Transcription

1 1 הורשה )Inheritance( הקדמה Derivation Syntax אופן הגדרתה של מחלקה שיורשת מאחרת - משמעות ההורשה - Effects Inheritance הרשאות הגישה Modifiers Access הגדרתן מחדש של מתודות שהגיעו בהורשה - Methods Overriding מחלקות אבסטרקטיות - Classes Abstract ממשק Interface שינוי טיפוס של Casting הפיכת ערך מטיפוס בסיסי לאובייקט ולהפך - Versa Converting Primitive Types to Objects & Vice מתודות שתם זמנן Deprecation מחלקות מוכנות ליצירת מבני נתונים

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

3 3 המשאיות. את ההיררכיה שזיהינו נוכל גם לתאר בתרשים הבא: המחלקה הכללית יותר תיקרא בשם מחלקת האב, ובאנגלית באחד השמות הבאים: )super class( base class המחלקה הספציפית יותר תיקרא בשם מחלקת הבן, ובאנגלית באחד השמות הבאים: )sub class( derived class

4 4 את ההגדרה של המאפיינים המשותפים למחלקת האב ולמחלקת הבן נוכל למצוא במחלקת האב. במחלקת הבן, אנו נוסיף להגדרה שמגיעה בהורשה מאפיינים נוספים. המחלקה )מחלקת הבן( שיורשת ממחלקה אחרת )ממחלקת האב( מקבלת ממנה את כל התכונות והפעולות שמוגדרות בה, כלומר, מקבלת את כל המשתנים ואת כל המתודות שהוגדרו בה. משמעות הדבר היא שבמחלקת הבן יתקיימו, באופן אוטומאטי, כל המשתנים וכל המתודות שהוגדרו עוד במחלקת האב, וזאת מבלי שיהיה צריך להגדירן מחדש. במחלקת הבן נוסיף תכונות ופעולות נוספות )מתודות ומשתנים נוספים( בכך שנגדיר אותן בתוך הגדרתה. אם נרצה, נוכל גם להגדיר מחדש במחלקת הבן מתודות שהגיעו בהורשה ממחלקת האב, ובכך לשנות את מה שהגיע בירושה בהורשה. השימוש באפשרות לייצור מחלקה שיורשת )שנגזרת( מאחרת חוסך הרבה כתיבה של קוד מקור הן ביצירתה של המחלקה והן בשינויים שרוצים לעשות לאחר מכן באופן פעולתה, ובייחוד אם אותם שינויים אמורים גם לגביה וגם לגבי מחלקות אחרות אשר נמצאות בהיררכיה. אופן הגדרתה של מחלקה שיורשת מאחרת - Syntax Derivatin הגדרתה של מחלקה שיורשת ממחלקה אחרת נקרא גם בשם.extending האופן שבו מגדירים מחלקה שיורשת ממחלקה אחרת הוא כדלקמן: בהמשך שורת הכותרת של המחלקה שמגדירים יש לרשום את המילה extends ומייד אחריה את שמה של המחלקה המורישה. לאחר מכן, בתוך הסוגרים המסולסלות של המחלקה המוגדרת ניתן להוסיף משתנים ומתודות אשר יתווספו לאלה שהגיעו בהורשה. לדוגמא :

5 5 public class Car int size, color, speed; public void park)(... public class PrivateCar extends Car int doors;... בדוגמא זו, המחלקה PrivateCar יורשת מהמחלקה,Car משמע, כל שלושת המשתנים שהוגדרו במחלקה Car )המשתנים size, color ו- )speed ולפיכך קיימים בכל אחד מהאובייקטים ששייכים למחלקה Car יהיו קיימים גם בכל אחד מהאובייקטים ששייכים למחלקה.PrivateCar כמו כן, המתודה park שהוגדרה במחלקה Car ניתן יהיה להפעיל אותה גם על כל אחד מהאובייקטים ששייכים למחלקה.PrivateCar בכל אחד מהאובייקטים ששייכים למחלקה PrivateCar יהיו, בנוסף, גם המשתנים הנוספים )כדוגמת )doors וגם המתודות הנוספות אשר הוגדרו במחלקה.Car לאחר שהיא ירשה מהמחלקה PrivateCar

6 6 ב- JAVA )להבדיל מ- C++( כל מחלקה יכולה לרשת רק ממחלקה אחת. ב- JAVA אין הורשה מרובה )מצב שבו מחלקה נתונה יורשת ממספר מחלקות(. תכנון התכנית תחת המגבלה שלא ניתן לרשת מיותר ממחלקה אחת יותר מבני ויותר מסודר. כאשר תכנון המחלקות נכון ומסודר, אין צורך בהורשה מרובה. עם זאת, אין כל מגבלה על מחלקה מלהוריש ליותר ממחלקה אחת. מחלקה יכולה להוריש למספר בלתי מוגבל של מחלקות. כל מחלקה שמגדירים ולא מציינים שהיא יורשת ממחלקה אחרת תירש )כברירת מחדל( מהמחלקה Object את כל תכונותיה)המשתנים( ואת כל המתודות שמוגדרות בה. אם המחלקה שהגדרנו יורשת ממחלקה אחרת אז התכונות והמתודות שהוגדרו במחלקה Object יגיעו בהורשה מאותה מחלקה אחרת. אם גם המחלקה האחרת ירשה ממחלקה אז בדיקה של היררכית המחלקות תגלה מהר מאד כי במעלה ההיררכיה מגיעים לבסוף למחלקה שלא יורשת מאף אחת. מחלקה זו היא שתירש את התכונות ואת המתודות שהוגדרו במחלקה Object ותעבירן הלאה במורד ההיררכיה עד למחלקה שבוחנים. מסיבה זו, ניתן לומר, כי התכונות שהוגדרו במחלקה Object קיימות בכל אובייקט... מכל סוג. כמו כן, ניתן גם לומר כי המתודות שהוגדרו במחלקה Object ניתן להפעילן על כל אובייקט. התכנית הבאה מתארת הורשה פשוטה בין שתי מחלקות. class Person protected String name; protected int age; public Person)(

7 public Person)String nameofperson, int ageofperson( 7 name = nameofperson; age = ageofperson; public void showdetails)( System.out.println)"name : " + name + "\nage : " + age(; class Jewish extends Person protected boolean britmila; // false if wasn't done true if was done protected boolean israeli; // false if not israeli true if israeli public Jewish)String nameofperson, int ageofperson, boolean brit, boolean israeliyesno(

8 8 name = nameofperson; age = ageofperson; britmila = brit; israeli = israeliyesno; class Christian extends Person protected boolean catolic; // false if not true if yes public Christian)String nameofperson, int ageofperson, boolean catol( name = nameofperson; age = ageofperson; catolic = catol;

9 9 class Muslim extends Person protected boolean israeli; // false if not true if yes public Muslim)String nameofperson, int ageofperson, boolean fana( name = nameofperson; age = ageofperson; israeli = fana; class SimpleInheritanceDemo public static void main)string args[]( Muslim palestiny = new Muslim)"Muhamad", 20, false(; Christian canadian = new Christian)"Jhon", 22, true(;

10 10 Jewish zabar = new Jewish)"David", 24, true, true(; palestiny.showdetails)(; canadian.showdetails)(; zabar.showdetails)(; משמעות ההורשה - Inheritance Effects of כאשר מחלקה יורשת ממחלקה אחרת אז כל משתנה שהוגדר במחלקה האחרת יהיה קיים בכל אחד מהאובייקטים שנוצרים מהמחלקה היורשת. באופן דומה, כל מתודה שהוגדרה במחלקה האחרת ניתן יהיה להפעיל אותה על כל אובייקט שנוצר מהמחלקה היורשת. להבדיל מ-++ C, ב- Java אין סוגים שונים של הורשה. ב- Java יש הורשה מסוג אחד, ובמסגרתה כל המשתנים וכל המתודות עוברים בהורשה. עם זאת, בהחלט ייתכן מצב שעקב הרשאת הגישה של המשתנה/מתודה שעברו בהורשה הפניה למשתנה ו/או הקריאה להפעלת המתודה לא יתאפשרו באופן ישיר. כך לדוגמא, משתנה שהוגדר עם הרשאת הגישה private במחלקה המורישה, יהיה קיים בתוך כל אובייקט אשר יווצר מהמחלקה היורשת. עם זאת, הגישה הישירה אליו לא תתאפשר מתוך גבולות המחלקה היורשת. הגישה היחידה שתתאפשר אליו היא באופן עקיף באמצעות קריאה להפעלתה של מתודה שהוגדרה במחלקה היורשת ושבגבולותיה אין כל בעיה למקם פניה למשתנה האמור. כל אובייקט שנוצר מהמחלקה היורשת מכיל לפיכך את כל המשתנים שהוגדרו במחלקה המורישה ואת כל המשתנים שהוגדרו במחלקה היורשת. על כל אחד מהאובייקטים שיווצרו מהמחלקה היורשת ניתן יהיה להפעיל את כל אחת מהמתודות שהוגדרו במחלקה המורישה וגם את כל אחת מהמתודות שהוגדרו במחלקה היורשת.

11 11 את ה- reference לאובייקט מטיפוס מחלקה נתונה ניתן לאחסן במשתנה מטיפוס המחלקה הנתונה )זאת כבר וודאי ידוע(, אך ניתן גם לאחסן אותו במשתנה מטיפוס מחלקה שהורישה למחלקה הנדונה )בין אם הורישה באופן ישיר ובין אם הורישה באופן עקיף דרך מחלקה אחרת(. לדוגמא )המשך הדוגמא מעמוד 4(: Car mycar = new PrivateCar)(; הסיבה לכך שזה אפשרי )ההיפך לא אפשרי: לא ניתן לאחסן reference לאובייקט מטיפוס Car בתוך משתנה מטיפוס )PrivateCar היא שכל המשתנים שנצפה שיהיו באובייקט מטיפוס Car קיימים גם באובייקט מטיפוס PrivateCar )הוא יורש מ- Car ( ובאופן דומה, כל המתודות שהוגדרו במחלקה Car ניתן להפעילן גם על כל אובייקט מטיפוס.Private Car התכנית הבאה מדגימה את שנאמר: class Person public String name; public int age; public Person)( public Person)String nameofperson, int ageofperson(

12 12 name = nameofperson; age = ageofperson; public void showdetails)( System.out.println)"name : " + name + "\nage : " + age(; class Jewish extends Person boolean britmila; // false if wasn't done true if was done boolean israeli; // false if not israeli true if israeli public Jewish)String nameofperson, int ageofperson,

13 13 boolean brit, boolean israeliyesno( name = nameofperson; age = ageofperson; britmila = brit; israeli = israeliyesno; class Christian extends Person boolean catolic; // false if not true if yes public Christian)String nameofperson, int ageofperson, boolean catol( name = nameofperson; age = ageofperson; catolic = catol;

14 14 class Muslim extends Person boolean israeli; // false if not true if yes public Muslim)String nameofperson, int ageofperson, boolean fana( name = nameofperson; age = ageofperson; israeli = fana; class DerivedToBase public static void main)string args[](

15 15 Person palestiny = new Muslim)"Muhamad", 20, false(; Person canadian = new Christian)"Jhon", 22, true(; Person zabar = new Jewish)"David", 24, true, true(; palestiny.showdetails)(; canadian.showdetails)(; zabar.showdetails)(; הרשאות הגישה הקדמה כפי שכבר הוסבר בפרק מספר 3, ניתן להוסיף בתחילת שורת ההצהרה על משתנה/מתודה את אחת המלים הבאות: private public protected בהוספת כל אחת מהמלים הנ"ל יש השפעה על אפשרות הגישה/השימוש במשתנה/מתודה. למרות שנושא זה כבר הוסבר )למעט,)protected בחרתי לחזור ולהסבירו שוב, והפעם גם להתייחס להרשאת הגישה.protected

16 16 הרשאת הגישה private משתנה/מתודה שמוסיפים להם את הרשאת הגישה private בשורת ההצהרה שלהם ניתן יהיה לגשת/להפעיל אליהם/אותם אך ורק כשזה נעשה בגבולות של מתודות ששייכות למחלקה שבה הוצהר על אותו משתנים/מתודה. הרשאת הגישה public משתנה/מתודה שמוסיפים להם את הרשאת הגישה public בשורת ההצהרה שלהם ניתן יהיה לגשת/להפעיל אליהם/אותם בכל מקום. הרשאת הגישה protected משתנה/מתודה שמוסיפים להם את הרשאת הגישה protected בשורת ההצהרה שלהם ניתן יהיה לגשת/להפעיל אליהם/אותם אך ורק כאשר נמצאים בגבולות של מתודות ששייכות למחלקה שבה הוצהר על אותם משתנים/מתודות או בתוך מחלקה ששייכת ל- package שאליו שייכת המחלקה שבה הוצהר על אותם משתנים/מתודות או בתוך מתודות ששייכות למחלקה שיורשת ממנה )באופן ישיר או עקיף(. אי מתן הרשאת גישה friendly( )package משתנה/מתודה שלא מוסיפים להם הרשאת גישה בשורת ההצהרה שלהם ניתן יהיה לגשת/להפעיל אליהם/אותם אך ורק בתוך מתודות ששייכות למחלקה שבה הוצהר על אותם משתנים/מתודות או בתוך מתודות ששייכות למחלקות אחרות ששייכות לאותו package שאליו שייכת המחלקה. כדי להבין את שהוסבר בנוגע לכל אחת מהרשאות הגישה האפשריות, ניעזר בדוגמא הבאה. הנח כי במחלקה package שייכת ל-: DramaBook מוגדרים מספר רכיבים עם הרשאות גישה שונות. הנח גם שהמחלקה DramaBook books וכי יחד עמה שייכות ל- package הזה גם המחלקות הבאות:.ComedyBook, SportBook הנח, בנוסף, את

17 17 קיומו של package אחר בשם: movies אשר כולל בתוכו את המחלקות: DramaMovie ו-.ArabicMovie הנח גם כי המחלקה DramaMovie יורשת מהמחלקה,DramaBook וכי המחלקה SportBook יורשת מהמחלקה.DramaBook בתרשים הבא, ניתן לראות ייצוג גראפי לתיאור קשרים אלה. כעת, נסכם את שמות המחלקות שמתוכן ניתן לגשת לכל אחד מרכיבי המחלקה DramaBook אשר כל אחד מהם קיבל הרשאת גישה שונה. הרשאת הגישה public protected package-friendly private שמות המחלקות שממתודות שמוגדרות בהן ניתן לגשת אל הרכיב ComedyBook, SportBook, DramaBook, DramaMovie, ArabicMovie ComedyBook, SportBook, DramaBook, DramaMovie ComedyBook, SportBook, DramaBook DramaBook

18 18 הגדרתן של מתודות שהגיעו בהורשה מחדש - Methods Overriding הקדמה כאשר מגדירים במחלקה היורשת מתודה שזהה בשמה, בטיפוס הערך המוחזר, במספר הפרמטרים שלה ובטיפוס של כל אחד מהם למתודה שהועברה בהורשה ממחלקה אחרת, אז המתודה החדשה תתפוס את מקומה של המתודה שהגיעה בהורשה, ולמצב זה נקרא בשם:.Overriding the method המתודה בגרסתה החדשה באה במקומה של המתודה שהועברה בהורשה, וכך כאשר על אובייקט, שיווצר מהמחלקה שמגדירים, תופעל מתודה זו, המתודה שתפעל היא המתודה החדשה שהוגדרה. כאשר יש קריאה להפעלת מתודה שיש לה מספר גרסאות שונות )מספר גרסאות שונות שנוצרו באמצעות,)overiding הגרסה שתפעל היא הגרסה המתאימה ביותר לטיפוס של האובייקט, ללא כל קשר לטיפוס של ה- reference... כלומר, ללא כל קשר לטיפוס של המשתנה אשר מחזיק ב- reference לאותו אובייקט שעליו מנסים להפעיל את המתודה. יש לשים לב לכך שאם מספר/סוג הפרמטרים במתודה החדשה שמגדירים מעט שונה מזה שבמתודה שהועברה בהורשה אז זו כבר תהיה מתודה אחרת, ולא יהיה פה מצב של.overriding המתודה החדשה שמגדירים כדי שתתפוס את מקומה של מתודה אחרת שהגיעה בהורשה יכולה לזרוק את אותם Exceptions שהמתודה המקורית יכולה לזרוק או רק חלק מהם או Exceptions מסוג שיורש מהסוג שהמתודה המקורית זורקת. לא ניתן לקבוע כי מתודה שתופסת את מקומה של מתודה אחרת תזרוק Exceptions אשר המתודה המקורית לא זרקה. כל האמור לעיל תקף ל- Exceptions מהסוג השלישי... מהסוג שחייבים לטפל בו. אם נושא הטיפול ב- Exceptions ב- JAVA עדיין לא מוכר לך )וסביר שכך( אז אל דאגה. בהמשך הספר מובא פרק שלם שמטפל בנושא ה-,Exceptions ונקודה זו תוסבר בו שוב. הרשאת הגישה של המתודה החדשה, אשר באה לתפוס את מקומה של מתודה אחרת אשר הועברה בהורשה, יכולה להיות זהה לזו של המתודה המקורית או מרחיבה )משמע, מרחיבה את אפשרויות הגישה אליה(. לדוגמא: מתודה

19 19 שהוגדרה במחלקת האב עם הרשאת הגישה protected למתודה שתתפוס את מקומה במחלקה היורשת (.private אך לא ניתן לתת לה את הרשאת הגישה public או protected ניתן לתת את הרשאת הגישה )overriding הסיבה לכך היא כדי שלא יקרה מצב שבזמן ריצה הגירסה של המתודה שתצטרך לפעול לא תוכל לפעול מסיבות של הרשאת גישה. התכנית הבאה מדגימה את האפשרות לעשות overriding למתודות שמגיעות בהורשה ממחלקה אחרת. class Person protected String name; protected int age; public Person)( public Person)String nameofperson, int ageofperson( name = nameofperson; age = ageofperson; public void showdetails)( System.out.println)"name : " + name + "\nage : " + age(;

20 20 class Jewish extends Person protected boolean britmila; // false if wasn't done true if was done protected boolean israeli; // false if not israeli true if israeli public Jewish)String nameofperson, int ageofperson, boolean brit, boolean israeliyesno( name = nameofperson; age = ageofperson; britmila = brit; israeli = israeliyesno; public void showdetails)(

21 21 System.out.println)"name : " + name + "\nage : " + age + "\nbritmila : " + britmila + "\nisraeli : " + israeli(; class Christian extends Person protected boolean catolic; // false if not true if yes public Christian)String nameofperson, int ageofperson, boolean catol( name = nameofperson; age = ageofperson; catolic = catol; class Muslim extends Person

22 22 protected boolean israeli; // false if not true if yes public Muslim)String nameofperson, int ageofperson, boolean fana( name = nameofperson; age = ageofperson; israeli = fana; class SimpleInheritanceDemo public static void main)string args[]( Muslim palestiny = new Muslim)"Muhamad", 20, false(; Christian canadian = new Christian)"Jhon", 22, true(; Jewish zabar = new Jewish)"David", 24, true, true(; palestiny.showdetails)(;

23 23 canadian.showdetails)(; zabar.showdetails)(; בתכנית הנ"ל ניתן לראות כיצד מתודות מוגדרות מחדש overriding( (, וכיצד מופעלת המתודה המתאימה מכל אובייקט ואובייקט. כמו כן, כדאי לשים להערות שבגוף התכנית אשר מדגישות נקודות אחרות שהוזכרו בפרק. באמצעות overriding ניתן, למעשה, לכתוב במחלקות היורשות מתודות שמותאמות יותר למחלקות החדשות שיורשות מה- base-class, ואז, כאשר מאחסנים references לאובייקטים ששייכים למחלקות היורשות בתוך משתנים מטיפוס המחלקות המורישות )אם אינך זוכר שזה אפשרי כדאי שתחזור/תחזרי לקרוא פרק זה מתחילתו(, וקוראים מתוכם להפעלתה של מתודה )חייבת להיות מוגדרת במחלקה המורישה( והמתודה הוגדרה מחדש במחלקתו של האובייקט, במקרים אלה תפעל המתודה האמיתית של האובייקט )המתודה שהוגדרה במחלקה היורשת(. אם את/ה מכיר את שפת התכנות C++ אז אופן פעולה זה וודאי מוכר לך. ב- C++ רואים למתודות שפועלות באופן זה: מתודות )פונקציות( וירטואליות. ב- JAVA כל המתודות וירטואליות )כברירת מחדל(! פעולות הקישור שנעשות בזמן ריצה - Dispatching Dynamic Method כאשר בזמן ריצה של תכנית מופעלת מתודה על אובייקט שה- reference שלו מאוחסן במשתנה מסוים, המתודה המופעלת היא המתודה שהוגדרה במחלקה שאליה אותו אובייקט שייך, וזאת גם אם ה- reference של האובייקט מאוחסן במשתנה מטיפוס מחלקת הבסיס)מחלקת האב, המחלקה המורישה(. קישור זה לשם הפעלת המתודה המתאימה נעשה בזמן ריצה, ובדרך זו מנוצלת האפשרות לביצוע overriding ביעילות. לדוגמא: Person p = new Student)(;

24 24 p.getname)(; בהנחה שהמחלקה Student יורשת מהמחלקה,Person ובהנחה שבשתי המחלקות הוגדרה המתודה,getName אז המתודה getname שתופעל היא זו שהוגדרה במחלקה,Student למרות שה- reference לאובייקט ה- Student מאוחסן במשתנה מטיפוס המחלקה.Person פולימורפיזם - Polymorphism פולימורפיזם polymorpism )בעברית: רב צורתי( היא היכולת לכתוב שורת/שורות קוד כך שבכל פעם שהיא/הן מופעלת/ות הפקודות שבפועל מתבצעות הן פקודות אחרות. להלן תיאור אחת הדוגמאות השכיחות לפולימורפיזם: כפי שכבר נוכחת לדעת, ניתן לכתוב תכנית שיש בה אובייקטים שונים מטיפוס מחלקות שונות אשר כולן יורשות ממחלקה מסוימת, ובכל אחת מהן מתודה מסוימת, שהגיעה בירושה מאותה מחלקה, מוגדרת מחדש.)overriding( את ה- references לאובייקטים אלה, כפי שגם בזאת נוכחת לדעת, ניתן לאחסן במשתנים מטיפוס אותה מחלקה שהורישה לכל המחלקות שמהן נוצרו האובייקטים. הפעלת המתודה האמורה על כל אחד מהאובייקטים יכולה להיכתב באופן די דומה: באמצעות המשתנה שמכיל reference לאובייקט תיכתב קריאה להפעלת המתודה. כיוון שה- reference לאובייקט יכול להיות מאוחסן במשתנה מטיפוס המחלקה המורישה ניתן למשל, לכתוב לולאה אשר תפעיל את אותה מתודה על כל אחד מהאובייקטים שה- references אליהם מאוחסנים במערך של references מטיפוס המחלקה המורישה. שורת הקוד להפעלת המתודה תחזור על עצמה שוב ושוב בכל איטרציה נוספת של הלולאה, ובכל פעם תופעל מתודה אחרת )בכל פעם תופעל המתודה המתאימה בהתאם לטיפוסו האמיתי של האובייקט(. לדוגמא: Person peoples[] = new Teacher)(, new Student)(, new Manager)(; int totalsalary=0;

25 25 for )int index=0; index<peoples.length; index++( totalsalary = totalsalary + peoples[index].getsalary)(; הקריאה להפעלת המתודה על כל אחד מהאובייקטים זהה מבחינת ה- syntax אך בכל פעם מופעלת מתודה אחרת. על כל אובייקט מופעלת המתודה אשר הוגדרה במחלקה שלו. ה- method הספציפי שיופעל ייקבע בזמן הריצה בהתאם לסוג האובייקט עצמו )ולא בהתאם לטיפוס המשתנה שמכיל את ה- reference אליו(. ניתן גם לפתח מחלקות חדשות שיירשו ממחלקות אלה, וקוד הגישה להפעלת מתודה זו על כל אחד מהאובייקטים שיווצרו ממחלקות אלה עדיין יהיה זהה. פיתוחן של מחלקות חדשות ושילוב האובייקטים שנוצרים על פיהן קל יותר הודות לקיומו של הפולימורפיזם. המילה השמורה super באמצעות מילה שמורה זו ניתן )במהלך פעולתה של מתודה שהוגדרה מחדש במחלקה )overriding להפעיל את המתודה בגרסתה במחלקה שמעל )במחלקה שהורישה למחלקה הנתונה(. אופן השימוש במילה שמורה זו הוא כדלקמן: יש לרשום אותה, ומייד אחריה למקם נקודה מפרידה, ואחריה למקם קריאה להפעלת המתודה. דוגמא: public class SportCar extends Car public int speed)( int result = super.speed)(;

26 26... return result; בדוגמא זו, תוך כדי פעולתה של המתודה speed אשר מוגדרת במחלקה sportcar הופעלה המתודה speed כפי שהיא הוגדרה במחלקה,Car אשר הורישה למחלקה.SportCar יש לשים לב לכך, שלא ניתן להפעיל את המילה השמורה super פעמיים, כלומר, לא ניתן, למשל, לכתוב: super.super.speed)(; בתכנית הבאה מודגם השימוש במילה השמורה.super class Person public String name; public int age; public Person)(

27 27 public Person)String nameofperson, int ageofperson( name = nameofperson; age = ageofperson; public void showdetails)( System.out.println)"name : " + name + "\nage : " + age(; class Jewish extends Person boolean britmila; // false if wasn't done true if was done boolean israeli; // false if not israeli true if israeli public Jewish)String nameofperson, int ageofperson, boolean brit, boolean israeliyesno(

28 28 name = nameofperson; age = ageofperson; britmila = brit; israeli = israeliyesno; public void showdetails)( super.showdetails)(; if )britmila( System.out.println)"Had BRIT MEELA"(; if )israeli( System.out.println)"is Israeli"(; class Christian extends Person boolean catolic; // false if not true if yes

29 public Christian)String nameofperson, int ageofperson, boolean catol( 29 name = nameofperson; age = ageofperson; catolic = catol; class Muslim extends Person boolean israeli; // false if not true if yes public Muslim)String nameofperson, int ageofperson, boolean fana( name = nameofperson; age = ageofperson; israeli = fana;

30 30 class SuperDemo1 public static void main)string args[]( Person human = new Jewish)"Jhon", 20, true, true(; // human holds a reference to // an object from the class Person Jewish zabar = )Jewish( human; // human goes through casting // and becomes a class variables // of the Jewish class type zabar.showdetails)(; מתודות מסוג final לשורת הכותרת של מתודה ניתן להוסיף את המילה השמורה,final ובכך למנוע את האפשרות שייעשה לה.overriding הודות להוספת מילה זו אל תחילת שורת הכותרת של המתודה )מייד אחרי הרשאת הגישה( לא ניתן יהיה להגדיר במחלקה היורשת את המתודה הזו מחדש. מתודה שהיא final מועברת בהורשה, מבלי שניתן יהיה להגדירה מחדש. דוגמא להגדרתה של מתודה כמתודת :final

31 31 public final void erasename)(... בהוספת המילה final לשורת הכותרת של מתודה יש שני יתרונות בולטים: עלייה בביצועים כאשר המתודה מוגדרת כמתודת final אין צורך לאתר את הגרסה המתאימה להפעלה כאשר יש קריאה להפעלתה )אין.)dynamically dispatching למתודה שמוגדרת כמתודה מסוג final לא ניתן לעשות,overriding ולכן כשהמחשב נתקל בה הוא לא צריך לחפש את המתודה המסוימת שעליו להפעיל. בדרך זו מושג חיסכון בזמן. הבטחה כי המתודה לא תשונה במחלקות שיורשות כאשר מתודה מוגדרת כמתודת final מובטח שהיא לא תשונה במחלקות היורשות. לעתים, בהגדרתן של מחלקות זוהי תכונה נדרשת. מחלקה מסוג final את המילה final ניתן גם להוסיף לשורת הכותרת של מחלקה. המשמעות היא שלא ניתן יהיה להגדיר מחלקה אחרת אשר תירש ממנה. מחלקה שמוגדרת כמחלקה מסוג final תוכל לרשת אך לא להוריש. את המילה final יש להוסיף לשורת הכותרת של המתודה מייד אחרי המילה שמייצגת את הרשאת הגישה שלה, ולפני המילה.class דוגמא:

32 32 public final class DeadMachine... בדוגמא זו, המחלקה DeadMachine לא יכולה להוריש. היא יכולה רק לרשת. אחת הדוגמאות למחלקה שמהווה חלק מהשפה, ושלא ניתן להגדיר מחלקה אשר תירש ממנה היא המחלקה.String מתכנני השפה רצו למנוע את האפשרות להגדיר מחלקה שתתאר מחרוזת תווים ותספק מתודות אשר לא קיימות במחלקה.String פעולתן של המתודות הבונות של מחלקות שיורשות מחלקות אחרות - Chaining Constructor כאשר נוצר אובייקט ממחלקה שיורשת ממחלקה אחרת, בפעולת יצירתו של האובייקט החדש תהיה גם הפעלה של ה- constructor ששייך למחלקה המורישה בנוסף להפעלת ה- constructor ששייך למחלקה שממנה נוצר האובייקט. אם המחלקה שממנה נוצר האובייקט יורשת ממחלקה אחרת ראשונה, והמחלקה האחרת הראשונה יורשת ממחלקה אחרת שניה וכך הלאה... בפעולת יצירתו של האובייקט החדש יופעל כל אחד מה- constructors של כל אחת מהמחלקות. הפעלת כל אחד מה- constructors נעשית באופן אוטומטי גם מבלי שב- constructors השונים תיכתב הקריאה להפעלתו של constructor מסוים. ה- constructor שיופעל כאשר אין קריאה ספציפית להפעלת constructor מסוים הוא

33 33 ה- constructor,default ולכן, אם הוא לא קיים )ה- constructor, default שהוא ה- constructor אשר לא מקבל ערכים בעת הפעלתו( אז תתרחש שגיאת קומפילציה. כדי לקרוא להפעלתו של constructor מסוים )במקום ה- constructor )default מבין ה- constructors שקיימים במחלקה המורישה יש לכתוב super ומייד אחריו בסוגריים את הערכים הנשלחים. על פי הערכים שנשלחים יופעל ה- constructor המתאים. התכנית הבאה מדגימה את אופן הקריאה להפעלתו של constructor מסוים באמצעות המילה.super class Person public String name; public int age; public Person)( this)"noname",18(; System.out.println)"The Person)( constructor"(; public Person)String nameofperson, int ageofperson( System.out.println)"The Person)String,int( constructor"(; name = nameofperson;

34 34 age = ageofperson; public void showdetails)( System.out.println)"name : " + name + "\nage : " + age(; class Jewish extends Person boolean britmila; // false if wasn't done true if was done boolean israeli; // false if not israeli true if israeli public Jewish)String nameofperson, int ageofperson, boolean brit, boolean israeliyesno( super)nameofperson,ageofperson(; System.out.println)"The Jewish constructor)string,int,boolean,boolean("(; britmila = brit; israeli = israeliyesno;

35 35 public void showdetails)( super.showdetails)(; if )britmila( System.out.println)"Had BRIT MEELA"(; if )israeli( System.out.println)"is Israeli"(; class Christian extends Person boolean catolic; // false if not true if yes public Christian)String nameofperson, int ageofperson, boolean catol( System.out.println)"The Christian constructor)string,int,boolean("(; name = nameofperson;

36 36 age = ageofperson; catolic = catol; class Muslim extends Person boolean israeli; // false if not true if yes public Muslim)String nameofperson, int ageofperson, boolean fana( System.out.println)"The Muslim constructor)string,int,boolean("(; name = nameofperson; age = ageofperson; israeli = fana;

37 37 public class ConstructorsDemo1 public static void main)string args[]( Person human = new Jewish)"Jhon", 20, true, true(; // human holds a reference to // an object from the class Person Jewish zabar = )Jewish( human; // human goes through casting and // becomes a class variables // of the Jewish class type zabar.showdetails)(; ניתן באמצעות תכנית זו גם להבחין בכך שסדר הפעלת ה- constructors מתחיל במחלקה הבסיסית ביותר, המחלקה שמורישה לאחרות, המחלקה,Person ואחר כך ממשיך לפי ההיררכיה במחלקות האחרות.

38 38 התכנית הבאה מדגימה את הקריאה להפעלת ה- constructor default של המחלקה המורישה אשר מתבצעת באופן אוטומטי כאשר נוצר אובייקט מטיפוס המחלקה היורשת )או כאשר מופעל ה- constructor שלו( וביצירתו)או בהפעלת ה- constructor שלו( אין קריאה מפורשת להפעלת constructor ספציפי של המחלקה המורישה. class Person public String name; public int age; public Person)( System.out.println)"The Person default constructor was called"(; public Person)String nameofperson, int ageofperson( System.out.println)"The Person)String,int( constructor was called"(; name = nameofperson; age = ageofperson; public void showdetails)( System.out.println)"name : " + name + "\nage : " + age(;

39 39 class Jewish extends Person boolean britmila; // false if wasn't done true if was done boolean israeli; // false if not israeli true if israeli public Jewish)String nameofperson, int ageofperson, boolean brit, boolean israeliyesno( System.out.println)"The Jewish )String,int,boolean,boolean(" + "constructor was called"(; name = nameofperson; age = ageofperson; britmila = brit; israeli = israeliyesno; public void showdetails)(

40 40 super.showdetails)(; if )britmila( System.out.println)"Had BRIT MEELA"(; if )israeli( System.out.println)"is Israeli"(; class Christian extends Person boolean catolic; // false if not true if yes public Christian)String nameofperson, int ageofperson, boolean catol( name = nameofperson; age = ageofperson; catolic = catol;

41 41 class Muslim extends Person boolean israeli; // false if not true if yes public Muslim)String nameofperson, int ageofperson, boolean fana( name = nameofperson; age = ageofperson; israeli = fana; class ConstructorsDemo2 public static void main)string args[]( Person human = new Jewish)"Jhon", 20, true, true(;

42 42 // human holds a reference to // an object from the class Person Jewish zabar = )Jewish( human; // human goes through casting // and becomes a class variables // of the Jewish class type zabar.showdetails)(; המתודה finalize אם המחלקה המורישה כוללת בתוכה מתודת finalize אז היא חייבת להיקרא באופן מפורש מתוך המתודה finalize שמוגדרת במחלקה היורשת. המתודה finalize ב- JAVA אינה דומה באופן פעולתה ל- destructors שקיימים ב C++. המתודה finalize אשר מוגדרת במחלקה המורישה לא תופעל באופן אוטומטי עם תום חייו של האובייקט שנוצר מהמחלקה היורשת. הקריאה להפעלת המתודה finalize תיעשה באמצעות המילה השמורה :super super.finalize)( שורה זו תיכתב בתוך המתודה finalize אשר תוגדר במחלקה היורשת.

43 43 Abstract Classes מחלקות אבסטרקטיות - מחלקות אבסטרקטיות הן מחלקות מבניות )שלדיות( שלא ניתן לייצור מהן אובייקטים. הדרך המקובלת להגדרתה של המחלקה כמחלקה אבסטרקטית היא הוספת המילה abstract לשורת הכותרת של המחלקה. לדוגמא: public abstract class Car... המחלקה Car היא דוגמא לאופן הגדרתה של המחלקה האבסטרקטית. את המילה abstract יש להוסיף אחרי המילה שמציינת את הרשאת הגישה ולפני המילה.class המחלקה האבסטרקטית משמשת כמחלקת בסיס, אשר ממנה מחלקות אחרות יירשו. הגדרת המחלקה האבסטרקטית יכולה לכלול בתוכה הגדרות של משתנים ומתודות. המתודות יכולות להיות מתודות אבסטרקטיות, כלומר, מתודות שלדיות שבתחילת שורת הכותרת שלה מופיעה המילה,abstract ובסופה במקום בלוק מופיע ; למתודה אבסטרקטית דומה למשמעות שיש לפונקציה וירטואלית טהורה ב- C++.. המשמעות שיש לדוגמא: public abstract class Shape

44 44 public abstract double area)(;... בעצם הגדרתה של מחלקה כמחלקה אבסטרקטית ניתן יהיה לחייב כי בכל אחת מהמחלקות שיירשו ממנה )מחלקות שיווצרו מהן אובייקטים... ) יידרסו המתודות האבסטרקטיות באמצעות מתודות חדשות שאינן אבסטרקטיות )שאם לא כן, אז גם מהמלחקה החדשה לא ניתן יהיה ליצור אובייקטים(. המחלקה האבסטרקטית לא חייבת לכלול בתוכה רק מתודות אבסטרקטיות. היא בהחלט יכולה לכלול בתוכה גם מתודות שאינן אבסטרקטיות )מתודות עם גוף(, והיא בהחלט יכולה לכלול בתוכה גם הגדרות של משתנים והגדרות של.construcros מהמחלקה האבסטרקטית לא ניתן לייצור אובייקטים. יש צורך להגדיר מחלקה אחרת אשר תירש מהמחלקה האבסטרקטית, ובה יש להגדיר באופן מסודר את המתודות שהוגדרו כמתודות אבסטרקטיות במחלקה האבסטרקטית, שאם לא כן, אז גם המחלקה היורשת תיחשב למחלקה אבסטרקטית, וגם ממנה לא ניתן יהיה לייצור אובייקטים. Interface ממשק הקדמה למרות ש- JAVA לא תומכת בהורשה מרובה, קיימת ב- JAVA האפשרות להגיע לתוצאות, שדומות לאלה שמושגות באמצעות הורשה מרובה, באמצעות השימוש ב- Interfaces.,public בעלות הרשאת הגישה )abstract( היא מחלקה מדומה שיכולה להכיל אך ורק מתודות אבסטרקטיות Interface ומשתנים שהם static ו-.final

45 45 ניסיון לייצור משתנה שאיננו עומד לכאורה בקריטריונים אלה יתברר כניסיון שתוצאתו בכל זאת משתנה מסוג final ו-.static המתודות שמוגדרות ב- interface לא יכולות להיות: native, static, synchronized, final, private או.protected אופן השימוש ב - Interfaces הגדרת ה- interface נעשית באופן הבא: interface InterfaceName כל המתודות שמוגדרות חייבות להיות abstract ועם הרשאת הגישה! public כל המשתנים חייבים להיות static ו-! final ניתן גם להוסיף בתחילת שורת ההגדרה הרשאת גישה. ה- interface יכלול מתודות ומשתנים שנרצה שיתממשו במחלקות שיישמו אותו. כדי שמחלקה תממש interface מסוים שהגדרנו יש לעשות שימוש במילה השמורה implements באופן הבא: בסוף שורת הכותרת של המחלקה יש לרשום implements ואחריה את שמו של ה- interface המיושם. דוגמא: public interface Aircraft

46 46... public class Car... public class SportCar extends Car implements Aircraft... המחלקה SportCar יורשת מהמחלקה Car ובכך ניתן לומר כי כל המשתנים והמתודות שהוגדרו במחלקה Car יהיו קיימים גם במחלקה SportCar באופן אוטומטי משום ההורשה. כיוון שבהגדרת המחלקה SportCar מיושם גם ה- interface ששמו Aircraft כל המתודות שהוגדרו באותו interface חובה יהיה להגדירן במחלקה.SportCar אלה הן מתודות אבסטרקטיות שאם הן לא יוגדרו במחלקה SportCar אז המחלקה SportCar תהיה גם אבסטרקטית, ובתור שכזו לא ניתן יהיה לייצור ממנה אובייקטים. כמו כן, כל הקבועים הסטטיים שיוגדרו ב- interface ניתן יהיה להשתמש בהם במחלקה SportCar אשר מיישמת את אותו.interface כיוון שכך, ניתן לומר כי בכל אובייקט מטיפוס המחלקה SportCar קיימים כל המשתנים הקבועים שהוגדרו ב- interface

47 47 ששמו,Aircraft וכמו כן, כי על כל אובייקט ניתן להפעיל את כל אחת מהמתודות שהוגדרו ב- interface ששמו.Aircraft מסיבה זו ניתן יהיה לאחסן reference לאובייקט מטיפוס המחלקה SportCar במשתנה מטיפוס ה- interface ששמו.Aircraft ובהמשך לדוגמא, השורה הבאה אפשרית לכתיבה: CarEngine sportengine = new SportCar)(; כדאי לשים גם לב לעובדה שבאמצעות המשתנה sportcar ניתן יהיה להפעיל אך ורק את המתודות שהוגדרו ב- interface ששמו,Aircraft כיוון שהמשתנה sportengine מהטיפוס.CarEngine הכלל הקובע בהפעלת מתודות באמצעות משתנים הוא שניתן להפעיל אך ורק את המתודות שמוגדרות ב- interface/class שמטיפוסו נוצר המשתנה. השימוש ב- interfaces מקנה את היכולת להגדיר מחלקות שיונקות את תכונותיהן ופעולותיהן מיותר ממקור אחד, מבלי להסתבך בהיררכית מחלקות מסובכת, מבלבלת ובעייתית. ניתן להגדיר מחלקה שתיישם יותר מ- interface אחד. אם המחלקה מיישמת יותר מ- interface אחד אז יש לרשום את שמות ה- interfaces בצירוף פסיקים מפרידים. דוגמא: class SportCar extends Car implements Aircraft, Tank, Ship...

48 48 התכנית הבאה מדגימה שימוש פשוט ב- interfaces : Interfaces לצורך סימון ניתן להגדיר Interface שלא מוגדרת בו אף מתודה ואף קבוע, ושמטרתו היחידה לסמן את המחלקה שמיישמת אותו. סימון מחלקה באמצעות Interface שמיושם בהגדרתה נעשה אודות למילה השמורה.instanceof באמצעות instanceof ניתן לדעת אם אובייקט נתון נוצר ממחלקה שמיישמת Interface מסוים... או לא... ולטפל בו בהתאם. משפט התנאי: if )referencetoanobject instanceof InterfaceName(... יהיה true אם האובייקט נוצר ממחלקה שבהגדרתה יושם ה- Interface ששמו צוין. אופן השימוש המלא במילה השמורה instanceof יוסבר בהמשכו של הפרק. אחת הדוגמאות ל- Interface שמשמש לסימון מחלקות הוא ה- Interface ששמו:.Cloneable שינוי טיפוס - Types Casting between Class כפי שכבר ראינו, אין כל בעיה לאחסן reference לאובייקט במשתנה מטיפוס המחלקה שהורישה למחלקה שממנה האובייקט נוצר. לדוגמא: Car mycar = new SportCar)(; באופן דומה, ראינו גם כי אין כל בעיה לשלוח למתודה שמצפה לקבל reference מטיפוס מסוים reference לאובייקט מטיפוס מחלקה שיורשת מאותו טיפוס מסוים.

49 ה. ה. ה. ה. 49 באופן כללי ניתן לומר כי ביצוע הפעולות שהפוכות לפעולות שתוארו לעיל איננו אפשרי. לא ניתן לאחסן בתוך משתנה מטיפוס מסוים reference מטיפוס שהוריש לטיפוס של אותו משתנה. באופן דומה, לא ניתן לשלוח למתודה reference מטיפוס שהוריש לטיפוס הפרמטר של אותה מתודה. עם זאת, לעתים הפעולות שתוארו לעיל אפשריות בכל זאת. המקרים שבהם הן מתאפשרות הם אותם מקרים שבהם ה- reference מטיפוס ששונה מטיפוס האובייקט. לדוגמה, reference מטיפוס Car לאובייקט מטיפוס SportCar ייחשב מטיפוס Car כיוון שהוא מאוחסן במשתנה מטיפוס.Car אם את אותו reference מנסים להכניס למשתנה מטיפוס,PrivateCar והמחלקה PrivateCar יורשת מ- Car, ומורישה ל- SportCar, אז השמת ה- reference אל תוך המשתנה מטיפוס PrivateCar יכולה להתאפשר, ובלבד שיבוצע ל- reference שינוי טיפוס )casting( כך שיהיה מטיפוס SportCar נוצר מהמחלקה מכוון מתאפשר כיוון שהאובייקט שאליו ה- reference casting- Car במקום PrivateCar )מחלקה שיורשת מ- PrivateCar (. כל המשתנים והמתודות שקיימים בטיפוס PrivateCar קיימים גם בטיפוס.SportCar ביצוע casting ל- reference מתאפשר אך ורק אם תוצאות הבדיקה הבאה :true referencetoobject instanceof class/interfacename ערכו של הביטוי הלוגי הנ"ל,true אך ורק אם ה- reference ממלא את אחד התנאים הבאים: reference- הוא לאובייקט מטיפוס המחלקה ששמה מצוין 1 reference- הוא לאובייקט מטיפוס מחלקה שיורשת מהמחלקה ששמה מצוין 2 reference- הוא לאובייקט מטיפוס מחלקה שמיישמת את ה- interface ששמו מצוין 3 בכל אחד מהמקרים הנ"ל ערכו של הביטוי יהיה,true ולכן, ניתן יהיה לבצע ל- reference האמור casting כך שישנה את טיפוסו ויהיה מטיפוס המחלקה או ה- interface ששמם צוין בפקודת ה- instanceof.

50 50 דוגמא: נניח את קיומן של המחלקות: Car, SportCar ו- PrivateCar ואת קיומו של ה- interface CarEngine: אשר מיושם על ידי המחלקה.Car הנח גם כי המחלקה Car מורישה למחלקה PrivateCar וכי זו מורישה למחלקה.SportCar כמו כן, הנח כי נוצרו האובייקטים הבאים: Car c1 = new Car)(; Car c2 = new SportCar)(; תחת הנחות אלה ניתן לסכם ולומר כי ערכו של כל אחד מהביטויים הבאים הנו: )c2 instanceof Car( - true )c2 instanceof SportCar( - true )c1 instanceof CarEngine( - true )c2 instance of CarEngine( - true )c1 instanceof SportCar( - false וכן הלאה... יש לזכור, כי ה- casting נעשה רק לטיפוס של ה- reference. האובייקט לא משתנה ולא משנה את טיפוסו. רק ה- reference אליו משנה את טיפוסו. הפיכת ערך מטיפוס בסיסי לאובייקט ולהפך Converitng Primitive Types to Objects & Vice Versa לא ניתן לבצע casing לערך מטיפוס בסיסי כך שיהפוך להיות אובייקט או reference לאובייקט. עם זאת, ב-: package java.lang קיימות מספר מחלקות שמשמשות ליצירת אובייקטים שיכולים לייצג את כל אחד מהטיפוסים הבסיסיים. שמן של מחלקות אלה מעיד על ייעודן.

51 51 לדוגמא: Integer Float Boolean וכך הלאה... באמצעות המתודות שמוגדרות בתוך כל אחת מהמחלקות אלה ניתן לייצור מכל אחת מהן אובייקט אשר יקביל לאחד הטיפוסים הבסיסיים שקיימים ויתאר ערך בסיסי מסויים. כל מחלקה מבין קבוצת מחלקות אלה משמשת ליצירת אובייקט שיכול לתפקד בדומה לערך מטיפוס בסיסי מסוים כלשהו. דוגמא: public class PrimitiveDemo public static void main)string args[]( Integer intvar = new Integer)70(; int number = intvar.intvalue)(; System.out.println)"intVar="+intVar(; System.out.println)"number="+number(; number = Integer.valueOf)"2341"(.intValue)(; System.out.println)"number="+number(;

52 52 המתודות שתם זמנן - Deprecation מתודות אשר בעקבות התפתחותה של השפה וקביעתם של סטנדרטים חדשים במתן שמות פעולותיהן ותפקידיהן מבוצעים באמצעות מתודות אחרות. ב- JAVA מתודות אלה נחשבות ל- deprecated. כאשר מהדרים תכנית ב- JAVA ובתכנית נעשה שימוש ב-מתודות אשר נחשבות ל- deprecated מקבלים על כך הודעת הזהרה מתאימה.)warning( אם רוצים, ניתן להדר את קובץ קוד המקור בתוספת התגית deprecation ובדרך זו לקבל מידע יותר מפורט על המתודות שנחשבות למיושנות. דוגמא: כתיבת שורה זו בביצוע ההידור לקובץ קוד המקור הבא תגרום להצגת הסברים מפורטים על המתודות המיושנות שנעשה בהם שימוש בקוד. javac deprecation DeprecatedDemo.java import java.util.*; public class DeprecatedDemo public static void main)string args[](

53 53 Date birthday = new Date)1970,1,12(; System.out.println)birthday(; כדאי להשתדל ולהימנע מלהשתמש במתודות שנחשבות ל- deprecated כיוון שבהחלט ייתכן שעם התפתחותה של השפה אותן מתודות ומחלקות שנחשבות ל- deprecated יוצאו מהשפה )"צא בחוץ!"(. מחלקות מוכנות ליצירת מבני נתונים ב- JAVA קיימות מחלקות מוכנות, שאובייקט מטיפוסן יכול לשמש בתור,container משמע, אובייקט מטיפוס כל אחת מהן יכול לשמש בתור אובייקט שמחזיק בתוכו נתונים אחרים במבנה מסוים. המחלקות שבולטות בקבוצה זו הן: Vector Stack Hashtable LinkedList וזוהי רק חלק מהרשימה. ה- references לאובייקטים שמהווים נתונים אשר מוחזקים על ידי אובייקט שנוצר מאחת המחלקות הללו, מוחזקים במשתנים מטיפוס Object ולכן יש לזכור לבצע casting מתאים ובהתאם לצורך כאשר משתמשים במתודות שמוגדרות במחלקות אלה. מתודות אלה מוגדרות - בדרך כלל - כמתודות שמחזירות reference מטיפוס,Object אשר יש לבצע לו casting בהתאם לאופן השימוש באובייקט.

דיאגרמה לתיאור Classes

דיאגרמה לתיאור Classes 1 דיאגרמה לתיאור Classes הקדמה לדיאגרמת Classes כללים במתן שמות ל- Classes שאנו מתארים הרשאות גישה של מרכיבי ה- Class השונים משתנים (Attributes) שמוגדרים ב- Class משתנים סטטיים Attributes) (Static מתודות

More information

ASP.Net MVC + Entity Framework Code First.

ASP.Net MVC + Entity Framework Code First. ASP.Net MVC + Entity Framework Code First 1 הקדמה בפרק הזה יוצג שימוש בFirst EntityFramework Code עבור ה use case הבאים : ASP.Net MVC ASP.Net Web API ASP.Net MVC + Scaffolding הערה : Framework Entity הוצג

More information

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces 1 הבסיס כתיבת התכנית הראשונה שימוש במשתנים הטיפוס הבסיסי object הטיפוס הבסיסי string משפטי בקרה שימוש ב- Enumerations שימוש ב- Namespaces המתודה Main כתיבת הערות פקודות קדם מהדר 2 כתיבת התכנית הראשונה

More information

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי WPF-Windows Presentation Foundation Windows WPF טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי Client חכמים המשלב ממשקי משתמש,תקשורת ומסמכים. מטרת התרגיל : ביצוע אנימציה לאליפסה ברגע

More information

פעולות קלט פלט Streams( )I\O

פעולות קלט פלט Streams( )I\O 1 פעולות קלט פלט Streams( )I\O הקדמה היררכיית מחלקות ה- I\O Java המחלקות האבסטרקטיות InputStream ו- OutputStream המחלקות FileInputStream ו- FileOutputStream המחלקות ObjectInputStream ו- ObjectOutputStream

More information

פולימורפיזם. blog.csit.org.il מדעי המחשב

פולימורפיזם. blog.csit.org.il מדעי המחשב 1 פולימורפיזם להסתכל על אותו אובייקט בצורות שונות. אובייקט של תת-מחלקה )המחלקה הנגזרת( הוא גם אובייקט של מחלקת העל )מחלקת הבסיס( )כלב הוא גם בעל-חיים וגם יונק(. פולימורפיזם מאפשר להשיג שתי מטרות: לטפל

More information

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of the rule. (Choose three cards appropriate to the lesson

More information

המבנה הגאומטרי של מידה

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

More information

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת. 1 (Liquid Crystal Display) תצוגת LCD בפרויקט ישנה אפשרות לראות את כל הנתונים על גבי תצוגת ה- LCD באופן ברור ונוח. תצוגה זו היא בעלת 2 שורות של מידע בעלות 16 תווים כל אחת. המשתמש יכול לראות על גבי ה- LCD

More information

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ ניפוי שגיאות )Debug( מאת ישראל אברמוביץ בדף העבודה יש תירגול בסביבת העבודה לשפת #C לסביבות עבודה אחרות. )2015 )Visual Studio אך היא מתאימה גם לשפת Java וגם o 1. ריצה של כל התוכנית ועצירה בסוף יש לבחור

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק בול פגיעה שעור 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00045000 I.M 2ND 00039500

More information

A R E Y O U R E A L L Y A W A K E?

A R E Y O U R E A L L Y A W A K E? A R E Y O U R E A L L Y A W A K E? ב ר ו ך א ת ה י י א לה ינ ו מ ל ך ה עו ל ם, ה מ ע ב יר ש נ ה מ ע ינ י ות נ ומ ה מ ע פ ע פ י Blessed are You, Hashem our God, King of the Universe, who removes sleep from

More information

Patents Basics. Yehuda Binder. (For copies contact:

Patents Basics. Yehuda Binder. (For copies contact: Patents Basics Yehuda Binder (For copies contact: elissa@openu.ac.il) 1 Intellectual Property Value 2 Intellectual Property Rights Trademarks Copyrights Trade Secrets Patents 3 Trademarks Identify a source

More information

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. סריקה לרוחב פרק 3 ב- Kleinberg/Tardos קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות. קשירות.s,t V שני צמתים,G=(V,E) קלט:

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37 Translated from the Hebrew Sharf Translations Message sent From: Tomer Shohat

More information

מבוא לתכנות ב- JAVA תרגול 7

מבוא לתכנות ב- JAVA תרגול 7 מבוא לתכנות ב- JAVA תרגול 7 שאלה )מועד א 2013( לפניך מספר הגדרות: תת מילה של המילה word הינה רצף של אותיות עוקבות של word פלינדרום באורך le היא מילה בעלת le אותיות שניתן לקרוא אותה משמאל לימין וגם מימין

More information

Practical Session No. 13 Amortized Analysis, Union/Find

Practical Session No. 13 Amortized Analysis, Union/Find Practical Session No. 13 Amortized Analysis, Union/Find Amortized Analysis Refers to finding the average running time per operation, over a worst-case sequence of operations. Amortized analysis differs

More information

A Long Line for a Shorter Wait at the Supermarket

A Long Line for a Shorter Wait at the Supermarket A Long Line for a Shorter Wait at the Supermarket - New York Times Page 1 of 4 A Long Line for a Shorter Wait at the Supermarket Sam Baris directing customers at Whole Foods in Columbus Circle, where the

More information

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO. 652082/2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5 McLaughlin, Terence K. From: Sent: To: Cc: Subject: Follow Up Flag: Flag Status:

More information

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative Hebrew Ulpan HEB 011-031 Young Judaea Year Course in Israel American Jewish University College Initiative Course Description Hebrew is not only the Sacred Language of the Jewish people, but it is also

More information

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

ANNEXURE E1-1 FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA) Dear Sirs, Re: Standby Letter of Credit No: Please advise the

More information

סמסטר אביב 2015, מועד ב' סמסטר קיץ 2015, מועד א' מתרגלים: אביב - נורית מושקוביץ', הלאל עאסי, אלירן וייס; קיץ מאיה דיאמנט

סמסטר אביב 2015, מועד ב' סמסטר קיץ 2015, מועד א' מתרגלים: אביב - נורית מושקוביץ', הלאל עאסי, אלירן וייס; קיץ מאיה דיאמנט יום חמישי, 17 לספטמבר 2015 מבחן סוף סמסטר - תכנות מונחה עצמים )236703( סמסטר סמסטר מרצים: אביב - ערן גלעד; קיץ - פרופ' יוסי גיל מתרגלים: אביב - נורית מושקוביץ', הלאל עאסי, אלירן וייס; קיץ מאיה דיאמנט הנחיות:

More information

מבוא למחשב בשפת פייתון

מבוא למחשב בשפת פייתון 234221 מבוא למחשב בשפת פייתון 3 מבני בקרה ולולאות פרופ' ראובן בר-יהודה דין לייטרסדורף הפקולטה למדעי המחשב הטכניון מכון טכנולוגי לישראל נערך ע"י יעל ארז 1 פקודות והזחות 2 פקודה פשוטה >>> 3+2 5 >>> x = 5

More information

תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה מבוא למדעי המחשב - סמסטר א' תשע"א,תרגול מס' 9. נושאי התרגול: this

תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה מבוא למדעי המחשב - סמסטר א' תשעא,תרגול מס' 9. נושאי התרגול: this תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה נושאי התרגול: this Shallow Copy, Deep Copy )Encapsulation( הכמסה )visibility modifiers( הגבלת גישה Setters ו- Getters )Exceptions( חריגות בתרגול הקודם הכרנו

More information

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

שאלות חזרה לקראת מבחן מפמר אינטרנט וסייבר שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר שאלה.1 ייצוג מידע בטבלה שלפניכם מספרים בבסיס. כל מספר מיוצג ע"י 5 סיביות. 10011 = 01100 = 00111 = 11000 = 11010 = 00101 = 10000 = 01111 = ד. יש להשלים את הערך

More information

Structural Vs. Nominal Typing

Structural Vs. Nominal Typing שפות תכנות 234319 פרופ' יוסי גיל הפקולטה למדעי המחשב, הטכניון מכון טכנולוגי לישראל קיץ 2013 הרצאה מס' 6: טיפוסיות שמית ומבנית רשמה: איריס קלקה kalka.iris@gmail.com בשלב זה בקורס אנו עוסקים בתורת הטיפוסים.

More information

תוכנה 1 בשפת Java שיעור מספר 8: "ירושה נכונה" בית הספר למדעי המחשב אוניברסיטת תל אביב

תוכנה 1 בשפת Java שיעור מספר 8: ירושה נכונה בית הספר למדעי המחשב אוניברסיטת תל אביב שיעור מספר 8: "ירושה נכונה" )II )הורשה בית הספר למדעי המחשב היום בשיעור חזרה על איטרטורים מחלקות מופשטות טיפוסי זמן ריצה 2 איטרטורים - תזכורת 3 מדוע יש צורך בשני מנשקים? המנשק Iterable מתאר את האובייקט

More information

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

מספר תז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה. עמוד 1 עמוד 1 מתוך 11, בחינה בתוכנה 1 מספר סידורי: מספר ת"ז: סמסטר א' תשע"ז, מועד א', 11 בפברואר 117 ליאור וולף, תומר עזרא, לנה דנקין משך הבחינה שלוש שעות יש להניח שהקוד שמופיע במבחן מתאים לגירסה 7 של

More information

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור קארדינטת קטבית y p p p במישר,y הגדרנ נקדה על ידי המרחקים מהצירים. ז מערכת ישרת זית )קרטזית( אשר בה יש לנ צירים מאנכים זה לזה. באת מישר ניתן להגדיר נקדה על ידי זית רדיס קטר. (, ) הרדיס קטר מסתבב )נגד כין

More information

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk מכונת מצבים סופית תרגול מס' 4 1 מכונת מצבים סופית Finite State Machine (FSM) מודל למערכת ספרתית מכונת מצבים סופית: קלט: סדרה אינסופית של אותיות...,I3,I1,I2 בא"ב input out פלט: סדרה אינסופית של אותיות O

More information

THINKING ABOUT REST THE ORIGIN OF SHABBOS

THINKING ABOUT REST THE ORIGIN OF SHABBOS Exploring SHABBOS SHABBOS REST AND RETURN Shabbos has a multitude of components which provide meaning and purpose to our lives. We will try to figure out the goal of Shabbos, how to connect to it, and

More information

Genetic Tests for Partners of CF patients

Genetic Tests for Partners of CF patients Disclaimer: this presentation is not a genetic/medical counseling The Annual Israeli CF Society Meeting Oct 2013 Genetic Tests for Partners of CF patients Ori Inbar, PhD A father to a 8 year old boy with

More information

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

לתוכנה שכותבים, כמו פונקציה זו, קוראים קוד הגדרת פונקציות מבוא לתכנות מדעי וסטטיסטי R פונקציות, ו חלק 4 בנוסף לפונקציות שמגיעות מוכנות יחד עם המערכת exp) mean,,c וכו'), אפשר לכתוב פונקציות חדשות פונקציות נקראות לעתים "פרוצדורות" או "סאב-רוטינות"

More information

פרוטוקול HTTP הפונקציה header שליחת מידע דחוס. עבודה עם cookies Haim Michael. All Rights Reserved.

פרוטוקול HTTP הפונקציה header שליחת מידע דחוס. עבודה עם cookies Haim Michael. All Rights Reserved. 1 ה- Headers HTTP פרוטוקול HTTP הפונקציה header שליחת מידע דחוס ה- Cashing Browser עבודה עם cookies 2 פרוטוקול HTTP כאשר הדפדפן מקבל קובץ משרת זה מתרחש בהמשך לבקשה לקבלת הקובץ אשר נשלחת מהדפדפן לשרת. בקשה

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים משחק טקסט שעור 3 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDI 15 1S 00079000 G. 2ND 00079000 S.G 3RD

More information

byte code :(compiler) .class מהדר בתהליך עורך, סייר, קומפיילר,,JRE וכו'. למשל: אקליפס. נקודות חשובות: חסכון בהקצאת זיכרון.

byte code :(compiler) .class מהדר בתהליך עורך, סייר, קומפיילר,,JRE וכו'. למשל: אקליפס. נקודות חשובות: חסכון בהקצאת זיכרון. 1 שיעור 1: שלום עולם, תרגול 2: 1, מחרוזות ומערכים: מפרש :(interpreter) מריץ את הקוד שנכתב בשפת.Java חסרונות: מהדר מאט את מהירות הריצה. גילוי שגיאות רק בזמן ריצה. :(cmpiler) מעבד את קוד התוכנית לפורמט נוח

More information

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names. Advisor Copy Before we begin, I would like to highlight a few points: Goal: 1. It is VERY IMPORTANT for you as an educator to put your effort in and prepare this session well. If you don t prepare, it

More information

מערכים Haim Michael. All Rights Reserved.

מערכים Haim Michael. All Rights Reserved. 1 מערכים יצירת מערך הפונקציה var_dump הפונקציה print_r אופן הפעולה של מערך מערך דו מימדי הפקודה list האופרטור,+,==,===!= ו-!== הפונקציה count הפונקציה is_array הפונקציה isset הפונקציה array_key_exists

More information

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of Name Page 1 of 6 ***Place an X if Closed גמרא (if no indication, we ll assume Open חזרה (גמרא of the :דף times.בל 'נ marked, using the contact info above by Sunday, December 25, 2016 and we ll send it

More information

תרגול 01: ממשקים והורשה

תרגול 01: ממשקים והורשה היום בתרגול ממשקים כללים בסיסיים o מימוש מספר ממשקים o דוגמת ממשק כחוזה o הורשה כללים בסיסיים o דריסה o instanceof אופרטור o תרגול 01: ממשקים והורשה interfaces ממשקים - כללי: הממשק אינו מחלקה, הוא מייצג

More information

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball

Apple, keys, pen, pencils, pencilbox,(toy)elephant,( toy) boy, (toy) girl, ball PRONOUNS: טריגר/ משחק פתיחה- המורה תביא לכיתה חפצים שונים ותראה אותם לכמה שניות לתלמידים ותכסה את החפצים. המורה תבקש מהתלמידים לשחזר את החפצים על פי זיכרון ותרשום את שמם על הלוח )מה שלא זכרו אח"כ המורה

More information

Reflection Session: Sustainability and Me

Reflection Session: Sustainability and Me Goals: Participants will: identify needs in their home communities apply their sustainability learning to the conditions of their home communities design a sustainable project idea and evaluate the ideas

More information

אנגלית (MODULE E) בהצלחה!

אנגלית (MODULE E) בהצלחה! 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016481 מספר השאלון: א. משך הבחינה: שעה ורבע אנגלית שאלון ה' (MODULE E) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה: בשאלון זה

More information

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

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: שאלה 1 עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא: 99 80 50 15 40 34 30 22 10 13 20 13 9 8 א. ב. ג. האם העץ

More information

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002 1 מרכז ההדרכה 2000 תמיכה ועדכונים עדכון מס' 48 מאי 2002 מימוש מכונת מצבים (FSM) באמצעות State Pattern מבוא מכונת מצבים סופית Machine) (Final State היא מודל מקובל בניתוח מערכות באופן כללי, ומערכות חומרה

More information

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10 תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית: שאלות לפי נושאים: 3 שאלות העוסקות בנוסחת האיבר הכללי: 3 שאלות העוסקות בסכום סדרה חשבונית: 4 שאלות מסכמות: 5 תשובות סופיות: 8 סיכום תכונות הסדרה ההנדסית:

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א' תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן א נ ג ל י ת סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון א' של בחינת הבגרות שסמלו

More information

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES Sinning in Disguise Like people of all faiths, Jews sometimes do things or go to places they are not supposed to. This session is not about

More information

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

Expressions (ex 8) Wild World (ex 7) Cars (ex 9) תר גול שי עור י ב ית 12 חזרה ע ל שא לו ת חשו בו ת מ שי ע ורי הבי ת ת וכנה 1 ס מ ס טר א' תשס"ז 1 סט ודנט י ם יקרים, אנא הקדישו מעט מזמנכם היקר ומלאו את סקר ההוראה. הסקר חשוב מאד כפידבק למרצים ולמתרגלים,

More information

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

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

More information

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director

NATIONAL COUNCIL OF YOUNG ISRAEL. Shavuot Nation JEWISH EDITION. Compiled by Gabi Weinberg Teen Program Director NATIONAL COUNCIL OF YOUNG ISRAEL Shavuot Nation JEWISH EDITION Compiled by Gabi Weinberg Teen Program Director Just Dress? Or is Tzniut something more? By Jacob and Penina Bernstein, Youth Directors at

More information

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

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

More information

גירסה C++ Tutorial Nir Adar עמוד 1

גירסה C++ Tutorial Nir Adar     עמוד 1 גירסה 2.00 4.10.2004 C++ Tutorial מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות

More information

הרצאה מספר 10 נושאים לשיעור זה: סיכום הפקודות עד לשיעור זה *** )S-Q( = מקומות בהם ניתן לשלב תתי שאילתות

הרצאה מספר 10 נושאים לשיעור זה: סיכום הפקודות עד לשיעור זה *** )S-Q( = מקומות בהם ניתן לשלב תתי שאילתות נושאים לשיעור זה: שאלת רענון בצירוף טבלאות פקודות :DDL מפתח ראשי Key( )Primary מפתח זר )חיצוני Key )Foreign o o סיכום הפקודות עד לשיעור זה SELECT id, count(id) + (S-Q) FROM Students AS S LEFT OUTER JOIN

More information

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד רשתות מחשבים עומר רוזנבוים 1 DNS פרק 4 ג' שכבת האפליקציה, פרוטוקול ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים מאת 1 בסיום הפרק נדע: מה תפקיד פרוטוקול?DNS לשם מה צריך?DNS מהי ההיררכיה של כתובות דפי האינטרנט? מהו,TLD

More information

מדריך לתכנת הגימפ Gimp) (The חלק מהמידע במדריך זה מובא מהקישור- http://www.jlc.org.il/forums/viewtopic.php?p=900&sid=d801ea3d13f7ae97549e28a56a4ce0cb GIMP היאתכנה חופשיתרבתאפשרויותבתחום הגראפיקהועריכתהתמונות,

More information

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך מקום להדבקת מדבקת נבחן סוג בחינה: מועד הבחינה: מספר השאלון: מבחן מטה לבתי ספר תיכוניים חורף תשע"ד 29.01.2014 מותאם לשאלון ב' של בחינת הבגרות שסמלו 016103 א

More information

Translation from English by Nataly Shnaidman, Jerusalem

Translation from English by Nataly Shnaidman, Jerusalem פרק 3. חיית מחמד ודג מחלקות. Java Translation from English by Nataly Shnaidman, Jerusalem תוכנות Java מורכבות ממחלקות )classes( שמציגות אובייקטים מעולם אמיתי. אפילו שלאנשים יש דעות שונות איך לכתוב תוכניות,

More information

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

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

More information

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G) 3 בגרות סוג הבחינה: מדינת ישראל חורף תשע"ט, 2019 מועד הבחינה: משרד החינוך 016582 מספר השאלון: א. משך הבחינה: שעה וארבעים וחמש דקות אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן מבנה השאלון ומפתח ההערכה:

More information

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

מבוא לרשתות - תרגול מס' 11 Transparent Bridges מבוא לרשתות - תרגול מס' 11 Transparent Bridges גשרים: מוטיבציה המטרה: חיבור של כמה רשתות מקומיות ) LAN -ים( לרשת מורחבת אחת על מנת לאפשר תקשורת בין מחשבים שאינם מחוברים לאותה רשת מקומית.?)ports עם מס'

More information

SPSS 10.0 FOR WINDOWS

SPSS 10.0 FOR WINDOWS האוניברסיטה העברית בירושלים הפקולטה למדעי החברה המח' למדע המדינה והמח' לסוציולוגיה ואנתרופולוגיה SPSS 10.0 FOR WINDOWS חוברת הדרכה בסיסית מירי בנטואיץ' הוכן לשיעור במתודולוגיה של ד"ר מיכאל שלו ירושלים,

More information

3. class attr_accessor def end 9. end puts "

3. class attr_accessor def end 9. end puts 1. #!/usr/bin/env ruby 2. 3. class Ruby 4. attr_accessor :programming_language 5. 6. def to_s 7. @programming_language 8. 9. 10. 11. rb = Ruby.new 12. rb.programming_language = "ruby" 13. 14. puts rb.to_s

More information

התכנית הראשונה שלי

התכנית הראשונה שלי 2-1 מבנה התכנית התכנית הראשונה שלי מחלקה מגדירה עצם. עצמים מתקשרים ביניהם באמצעות תכנית מ נ ח ה. בפרקים הבאים נכיר תחילה את המנחה ואת הוראות השפה, ובהמשך נלמד לשלב גם עצמים. לפניך תכנית בשפת.Java התכנית

More information

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student => תאריך 23.07.2018 שם המרצים: מני אדלר, מיכאל אלחדד, ירון גונן מבחן בקורס: עקרונות שפות תכנות קורס' מס: 202-1-2051 מיועד לתלמידי: מדעי המחשב והנדסת תוכנה שנה: ב' סמסטר: ב' מועד ב' משך הבוחן: 3 שעות חומר

More information

זה. Nir Adar

זה. Nir Adar גירסה 28.4.2003-1.00 האסמבלי של 8086 חלק שני מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך,

More information

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

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

More information

שאלון ד' הוראות לנבחן

שאלון ד' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 404 016105, י ת ל ג נ א שאלון ד' )MODULE D( הוראות לנבחן א. משך הבחינה:

More information

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי( בגרות לבתי ספר על יסודיים סוג הבחינה: מדינת ישראל קיץ תשע"א, 2011 מועד הבחינה: משרד החינוך 016117 מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת א. משך הבחינה: שעה וחצי שאלון

More information

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן: מבחן מועד ב' תאריך הבחינה: 3.3.2015 שמות המרצים: דר' רועי זיון פרופ' משה זיפר פרופ' מיכאל קודיש דר' צחי רוזן גב' מיכל שמש שם הקורס: מבוא למדעי המחשב אנא קיראו היטב את ההראות שלהלן: מספר הקורס: 202-1-1011

More information

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

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית. בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. א. משך הבחינה: שעה ורבע מועד הבחינה: חורף תשס"ז, 2007 מספר השאלון: 406 016107, א נ ג ל י

More information

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

תורשכ ירפס לכ ץבוק  ב י קלח יללכ רעש בס"ד קובץ כל ספרי כשרות י"ב חלק שער כללי הו"ל בחמלת ה' עלי בזכות אבותי ורבותי הקדושים זי"ע הק' שלום יהודה גראס, אבדק"ק האלמין יצ "ו חלק י "ב 4 ספרים ספר א': הפקעת שערים חלק א': קול קורא'ס שיצאו לאור נגד

More information

Yetzer Shalom: Inclinations of Peace

Yetzer Shalom: Inclinations of Peace Yetzer Shalom: Inclinations of Peace by Rabbi Eh'bed Baw'naw (Christopher Fredrickson) 1 Introduction January 9 th of 2013 started my journey in a new facet of my faith. Being a Torah observant believer

More information

מדריך למשתמש בשירות. yes MultiRoom

מדריך למשתמש בשירות. yes MultiRoom מדריך למשתמש בשירות yes MultiRoom תוכן עניינים מבוא 3 תנאיסףלהצטרפותלשירות 3 ה ג ד ר ו ת 3 השימושבשירות 4 הגבלות 7 שאלותנפוצות 8 מבוא שירות yes MultiRoom מאפשר צפייה בתכנים המוקלטים שלכם ובתכני ה - VOD

More information

למבחן ביסודות מדעי המחשב דוגמא

למבחן ביסודות מדעי המחשב דוגמא פרק א' למבחן ביסודות מדעי המחשב דוגמא כתוב תכנית הקולט מספר למשתנה N ולאחריו N מספרים שלמים ומדפיס את כמות המספרים המתחלקים ב 3 - ללא שארית. (10 נקודות). כתוב ביטוי בוליאני המייצג את התנאי הבא: ספרת העשרות

More information

Design Patterns מאיר סלע מהדורה ראשונה 2004 הדפסה 1 כל הזכויות שמורות

Design Patterns מאיר סלע מהדורה ראשונה 2004 הדפסה 1 כל הזכויות שמורות Design Patterns 4 Design Patterns מאיר סלע מהדורה ראשונה 2004 הדפסה 1 כל הזכויות שמורות מרכז ההדרכה עיטם 2000 אתר אינטרנט: www.mh2000.co.il דואר אלקטרוני: info@mh2000.co.il אין להעתיק, לשכפל או לצלם ספר

More information

(MODULE E) ב ה צ ל ח ה!

(MODULE E) ב ה צ ל ח ה! סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה מועד הבחינה: קיץ תשס"ד, 2004 מספר השאלון: 016106 י ת ל ג נ א שאלון ה' (MODULE E) הוראות לנבחן א. משך הבחינה: שעה ורבע בשאלון זה שני פרקים.

More information

ראוהו בית דין וכל ישראל נחקרו העדים ולא הספיקו לומר מקודש עד שחשיכה הרי זה מעובר says, משנה.1 Our

ראוהו בית דין וכל ישראל נחקרו העדים ולא הספיקו לומר מקודש עד שחשיכה הרי זה מעובר says, משנה.1 Our Name Email or Phone # (needed on 1 st page only) Page 1 of 6?בחינה times 1 st :דף of the חזרה (גמרא (if no indication, we ll assume Open גמרא Place an X if Closed.בל'נ marked, using the contact info above

More information

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary בגרות סוג הבחינה: מדינת ישראל קיץ תשע"ז, 2017, מועד ב מועד הבחינה: משרד החינוך 403 016104, מספר השאלון: אנגלית שאלון ג' (MODULE C) ג רסה א' הוראות לנבחן א. משך הבחינה: שעה וחצי ב. מבנה השאלון ומפתח ההערכה:

More information

CML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה

CML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה תפקידן של עמותות החולים במחקרים ואיסוף PRO סקר בינלאומי על הפסת טיפול ב- גיורא שרף מייסד ומנהל עמותת חולי CML מייסד ומנהל עמותת חלי"ל האור מייסד ומנהל עמותת הגג של כל עמותות ה- CML בעולם CML כנס שנתי של

More information

ראש השנה דף ח. ששה עשר בניסן ראש השנה לעומר, ששה בסיון ראש השנה לשתי that says ברייתא quotes a גמרא.1 Our. Name Page 1 of 8

ראש השנה דף ח. ששה עשר בניסן ראש השנה לעומר, ששה בסיון ראש השנה לשתי that says ברייתא quotes a גמרא.1 Our. Name Page 1 of 8 Name Page 1 of 8?בחינה times 1 st :דף of the חזרה (גמרא (if no indication, we ll assume Open גמרא Place an X if Closed.בל 'נ marked, using the contact info above by Monday, August 14, 2017 and we ll send

More information

מטוסים נופלים, כורים מתפוצצים זיכרון אוטומטי מקטסטרופות לומדים בניינים קורסים,

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

More information

פרק עצמים א. טיפוסים חדשים ב. מצב של עצם

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

More information

Summing up. Big Question: What next for me on my Israel Journey?

Summing up. Big Question: What next for me on my Israel Journey? Summing up Goals: To facilitate feedback and debrief of the learning period To clarify and fix the Four Hatikvah Questions as the ongoing framework for approaching Israel To begin to concentrate participants

More information

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

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

More information

ראש השנה דף. 1. A) Our משנה says,... שנראה בעליל בין שלא נראה בעליל.בין Based on this,פסוק what does the word עליל mean?

ראש השנה דף. 1. A) Our משנה says,... שנראה בעליל בין שלא נראה בעליל.בין Based on this,פסוק what does the word עליל mean? Name Email or Phone # (needed on 1 st page only) Page 1 of 5?בחינה times 1 st :דף of the חזרה (גמרא (if no indication, we ll assume Open גמרא Place an X if Closed.בל'נ marked, using the contact info above

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ו, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה! בגרות לבתי ספר על יסודיים א. סוג הבחינה: מדינת ישראל בגרות לנבחני משנה ב. משרד החינוך בגרות לנבחנים אקסטרניים ג. תשס"ז, מועד ב מועד הבחינה: מספר השאלון: 402 016103, א. משך הבחינה: שעה ורבע א נ ג ל י ת

More information

Depth-First Search DFS

Depth-First Search DFS Depth-First Search DFS (Depth-First Search) DFS חיפוש לרוחב חיפ וש לעומק (DFS) הוא אלג וריתם לסרי קת הגרפים. פועל גם על גרפים מ כוו נים וגם על בלתי מ כוו נים בהינתן גרף,G=(V,E) אלגוריתם DFS מבקר בכל הצמתים

More information

מסנן סולארי: הוראות שימוש

מסנן סולארי: הוראות שימוש מסנן סולארי: הוראות שימוש ליקוי חמה מלא יום שני, 21 באוגוסט, 2017 Agreement v143 Mar 2014 2014-2017 2014-2017 TERMS AND CONDITIONS FOR USE OF SOLAR VIEWER Please read these Instructions for Use carefully

More information

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש מאגר מעבדות לשפות התכנות החדשות ניתן להשתמש בחומרים לצורך הוראה בלבד. לא ניתן לפרסם את החומרים או לעשות בהם כל שימוש מסחרי ללא קבלת אישור מראש מצוות הפיתוח בראשות ד"ר תמר פז. המעבדה בקובץ זה מיועדת לתלמידים

More information

SHABBOS, 10 TAMMUZ, 5778

SHABBOS, 10 TAMMUZ, 5778 ב"ה SHABBOS, 10 TAMMUZ - FRIDAY, 16 TAMMUZ, 5778 For local candle lighting times visit www.chabad.org/candles SHABBOS, 10 TAMMUZ, 5778 PARSHAS CHUKAS After Minchah, read the fifth chapter of Pirkei Avos.

More information

שאלון ו' הוראות לנבחן

שאלון ו' הוראות לנבחן סוג הבחינה: א. בגרות לבתי ספר על- יסודיים ב. בגרות לנבחני משנה ג. בגרות לנבחנים אקסטרניים מועד הבחינה: תשס"ה, מועד ב מספר השאלון: 406 016107, י ת ל ג נ א שאלון ו' )MODULE F( הוראות לנבחן א. משך הבחינה:

More information

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

תאריך הבחינה: מבוא למדעי המחשב ד ר פז כרמי פרופ' מייק קודיש ד ר חן קיסר ד ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס: מבוא למדעי המחשב 202-1-1011 מבחן אנא קראו את ההוראות שלהלן בעיון: תאריך הבחינה: 622011 שמות המרצים: מר שי זקוב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

More information

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of Name Page 1 of 5 ***Place an X if Closed גמרא (if no indication, we ll assume Open חרה (גמרא of the :דף times Please email or fax your completed בחינה using the contact info above by Sunday, December 4,

More information

יסודות מבני נתונים. תרגול :9 ערימה - Heap

יסודות מבני נתונים. תרגול :9 ערימה - Heap יסודות מבני נתונים תרגול :9 ערימה - Heap maximum שאלה: כמה זמן לוקח לחפש איבר בערימה? תשובה:,O(n) למרות שבערימה קיים סדר מסויים. Heaps 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 דוגמה: 7 11 13 21 12 17 20 34

More information

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 מבוא לתכנות - פיתוח משחקים ב Action Script 3.0 כל מה שמעצב משחקים צריך לדעת בשביל לעבוד עם מתכנתים תנועה בעזרת קוד שעור 9 הישגיים 2 1P 0 AS3 2P 0 HIGH SCORE RANK SCORE NAME CREDIT 15 1ST 00472000 G.F 2ND

More information

שיעור מספר 6: מקושרים

שיעור מספר 6: מקושרים שיעור מספר 6: מקושרים וולף ליאור בית הספר למדעי המחשב על סדר היום נתחיל בדוגמא נאיבית של מבנה מקושר נכליל את המבנה ע"י הכללת טיפוסים נדון בייצוג הכרות אינטימית בשפת התכנות נדון בהפשטת מעבר סידרתי על נתונים

More information

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

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

More information