Microsoft PowerPoint - Copy of 02_classDesign.ppt

מסמכים קשורים
תכנות מונחה עצמים א' – תש"ע

Microsoft PowerPoint - lec10.ppt

Slide 1

PowerPoint Presentation

מבוא למדעי המחשב

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

מבוא למדעי המחשב

Microsoft PowerPoint - rec1.ppt

מבוא למדעי המחשב

תרגול 1

PowerPoint Presentation

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

PowerPoint Presentation

PowerPoint Presentation

שאלהIgal : מערכים דו מימדיים רקורסיה:

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

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

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

Slide 1

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

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

סדנת תכנות ב C/C++

PowerPoint Presentation

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

Slide 1

מבוא למדעי המחשב

מצגת של PowerPoint

תוכן העניינים

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

Slide 1

Slide 1

Microsoft Word - c_SimA_MoedB2005.doc

שאלהIgal : מערכים דו מימדיים רקורסיה:

Slide 1

Microsoft PowerPoint - lec2.ppt

PowerPoint Presentation

PowerPoint Presentation

Microsoft PowerPoint - Lecture1

תוכן העניינים

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

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

Microsoft PowerPoint - lec9.ppt

Microsoft PowerPoint - 10_threads.ppt

מבוא למדעי המחשב

Microsoft PowerPoint - lec9.ppt

הגשה תוך שבוע בשעת התרגול

שאלהIgal : מערכים דו מימדיים רקורסיה:

Tutorial 11

מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +

מבוא למדעי המחשב

Slide 1

PowerPoint Presentation

Slide 1

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

PowerPoint Presentation

HTML - Hipper Text Makeup Language

PowerPoint Presentation

Microsoft Word - pitaron222Java_2007.doc

מבחן בפיתוח מערכות תוכנה בשפת Java ( )

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

PowerPoint Presentation

Slide 1

שקופית 1

מבוא למדעי המחשב - חובלים

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

Slide 1

מהוא לתכנות ב- JAVA מעבדה 3

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

Microsoft Word B

מבוא למדעי המחשב

1

Slide 1

Slide 1

PRESENTATION NAME

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

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

מתכונת עיצוב 3013

מבוא למדעי המחשב - חובלים

234114

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

Slide 1

Microsoft Word - c_SimA_MoedA2006.doc

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

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

תרגול 1

תוכנה 1 בשפת Java שיעור מספר 3: "חתיכת טיפוס"

Slide 1

תוכנה 1 אביב תשע"ח תרגיל מספר 8 אוספים גנריים ו- framework collection הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת ה

תרגול 1

Python 2.7 in Hebrew

תורת הקומפילציה

תמליל:

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

עצמי ם המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand Meyer (Prentice Hall). כל ה זכויו ת ש מו רו ת ל מ חברים

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

POINT Class public class POINT { private float x, y; // Routines... } 4 אוניברסיטת תל אב י ב

Simple Book public class BOOK1 { private String title; private int date, page_count; } התרשים פשטני מחרוזת היא עצם ולכן השדה title מכיל רק הפנייה אליו 5 אוניברסיטת תל אב י ב

Simple Book public class BOOK1 { private String title; private int date, page_count; } 6 אוניברסיטת תל אב י ב

Writer Class public class WRITER { private String name, real_name; private int birth_ year, death_ year; } 7 אוניברסיטת תל אב י ב

עצמי ם נסווג את ה שדות ל סוגים לפי טיפוסיהם: טיפוסים יסודיים (פרימיטיבים): חלק משפת התכנות. כגון: int, char, float, bool (אבל לא (string טיפוסים מו רכ בים (user defined types) שדה מורכב: עצ ם מוכל או עצם מוצבע? 8 אוניברסיטת תל אב י ב

תת עצמי ם 9 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות Point p1 = new Point(); Point p2; p2 = p1; p1.setx(4); x y 0 0 10 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות Point p1 = new Point(); Point p2; p2 = p1; p1.setx(4); x y p1 0 0 11 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות Point p1 = new Point(); Point p2; p2 = p1; p1.setx(4); p2 #@$$ x y p1 0 0 12 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות Point p1 = new Point(); Point p2; p2 = p1; p1.setx(4); p2 #@$$ x y p1 0 0 13 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות Point p1 = new Point(); Point p2; p2 = p1; p1.setx(4); p2 x y p1 0 0 14 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות Point p1 = new Point(); Point p2; p2 = p1; p1.setx(4); p2 x y p1 4 0 15 אוניברסיטת תל אב י ב

עצמי ם, מצבי עים ו התייח סוי ות נשים לב כי כל העצמים בשפת (חסרי שם) להב ד לי משפות אחרות (כגון ++C) הפנייה ב Java הם אנונימ יי ם Java היא ישות עצמאית, משתנה בפני עצמו, שעשויה להכיל כתובת של אובייקט קיים. ניתן לעדכן את ערכה של ההפנייה ובכך להחליף את העצם המוצבע. לא נתבלבל עם העברת נתונים לפונקציה by.reference העתקה או אי העתקת העצם לא תלויה בעצם עצמו אלא בהגדרת שיטת ההעברה בפונקציה 16 אוניברסיטת תל אב י ב

עצם מו כל או מו צבע? תת עצמים תופסים יותר זכרון עצמים מוצבעים קל יותר לשתף בין מספר ישויות לא כל המצביעים מאותחלים אוטומטית (ל- (null כך שקיימות 3 אפשרויות: בשפת המצביע מתייחס לעצם אחד מסוים מצביע לכתובת 'זבל' המצביע הוא null כלומר לא משויך לעצם מסוים Java השאלה לא קיימת מכיוון שאין עצמים מוכלים 17 אוניברסיטת תל אב י ב

מו צבע 18 אוניברסיטת תל אב י ב

לא מ שויך לאף עצם 19 אוניברסיטת תל אב י ב

זהו ת של עצמים שני עצמים נפרדים עשויים להיות זהים שוויון שדות אינו תנאי מספיק לזהותם של שני עצמים 20 אוניברסיטת תל אב י ב class WRITER { String name; int birth_year, death_year; } class BOOK { String title; int date; WRITER *author; }

מעגלים בי חס הלקוחו ת מחלקה עשויה להיות לקוחה של ע צמה נבדיל בין מעגל של ע צמים ומעגל של מחלקות 21 אוניברסיטת תל אב י ב class PERSON1{ } string name; PERSON1 loved_one, landlord;

מצבי ע לעצמו 22 אוניברסיטת תל אב י ב

יתרונות העצם המו כל יעילות גישה לשדות מוכלים שלא דרך מודל טוב יותר מצביע למחלק ה S פירושו שהלקוח 23 אוניברסיטת תל אב י ב dereference של מצביע "יודע על" S עצם כ עצם מוכל מעיד על כ ך שהלקוח מכיל S בפ רט, הכל ה מרמזת על אי-שיתוף תמי כה אחידה ב טיפוסים פרימיטיבים עצמים מכילים את הטיפוסים היסודיים עצמם ולא מצביע אליהם

אוביי קט ים מו רכבי ם 24 אוניברסיטת תל אב י ב

עצמי ם מו כלים לא יתכנו מעגלי ספק-לקוח כאשר הספק הוא עצם מוכל type) (expanded יצירה והריסה של האובייקט המוכל תלויה בזמני היצירה וההריסה של העצם המכיל בהשמת העצם העוטף לא יופעל בהכרח אופרטור ההשמה של כל אחד משדותיו המוכלים כאשר עצם מכיל מצביעים לעצמים אחרים יש לשקול מתי לשחרר את הזכרון של עצמים אלו (למשל אם הם משותפים לכמה עצמים) 25 אוניברסיטת תל אב י ב

הכלה או הצבעה? בשפת ע צמים Java הוחלט שלא לאפשר הכלת כל ההתייחסויות ל ע צמים הן הפניות 26 אוניברסיטת תל אב י ב

פונקציה יוצרת יצירת ואתחול ע צמים מפורשת כאשר בפונקציה כלשהי מגיעים לשורה T() T x = new קורים הדברים הבאים: מוקצ ה מ קום עבור עצם מטיפוס T (ע בור כל אחד מ ש ד ותיו) x מק בל את כתובתו ש ל הע צם ש הו קצה.1.2 27 אוניברסיטת תל אב י ב

מצבי עים ו מצבם מצביע יכול להיות קשור או לא קשור לעצם מצביע p יקשר לעצם ע"י: p=new SomeClass(...) או ע"י, p=p1 כאשר p1 הוא מצביע קשור p יהפך ללא קש ור ע"י: null הוא p1 p=null או ע"י p=p1 כאשר הפע לת מ תודה דרך מצ ביע שאינ ו קשור תגרום לטע ות ז מן ריצה 28 אוניברסיטת תל אב י ב

פעולות על מ צביעים ה ש מ ה ש ל מצ ביעים אינה מ בצעת העתק ה ש ל האובייקט ה מוצ בע ההשוואה בין מצביעים p1==p2 תחזיר true רק אם הם מצביעים על אותו עצם עצמו או ששניהם null הה ש מ ה p=null ש ימו ש ית כדי: לבדוק בהמשך האם ערך 'זיבלי') 29 אוניברסיטת תל אב י ב p!=null (שכן למצביע עלול להיות גם לעזור ל Garbage Collector להבין שהעצם המוצבע אינו נחוץ עוד

קשירת מצבי ע class PERSON2 { String name; PERSON2 loved_one, landlord; } /**Attach the loved_one field of current object to l. */ void set_loved (PERSON2 l){ loved_one = l; } 30 אוניברסיטת תל אב י ב

קשירת מצבי ע Before a.set_loved (r) After תכנות מתקדם בשפת Java 31 אוניברסיטת תל אביב

איפוס מצבי ע (ללא שחרור!) x = null 32 אוניברסיטת תל אב י ב

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

בנ אים ל Point public class Point { //... public Point() { m_x = 0; m_y = 0; } } public Point(int x, int y) { m_x = x; m_y = y; } //... 34 אוניברסיטת תל אב י ב

ריבוי בנ אים כדי לשמור על עיקביות בתחזוקת מספר גרסאות מועמסות של אותה הפונקציה מומלץ להשתמש בקריאות הדדיות בין הגרסאות המועמסות בהע מסת ב נאים, הקריאה this(args) קוראת לבנאי מועמס שחתימתו תואמת את args 35 אוניברסיטת תל אב י ב

בנ אי יותר טו ב ל Point public class Point { //... public Point(int x, int y) { m_x = x; m_y = y; } public Point() { this(0,0); } //... } 36 אוניברסיטת תל אב י ב

עוד על בנ אים פונקצית אתחול שהוגדרה כ private לא תאפשר ליצור באמצעותה עצמים למחלקה שלא נכתבו עבורה בנאים כלל מספק המהדר (הקומפיילר) בנאי ברירת מחדל ) default (constructor זהו בנאי חסר פרמטרים שאינו עושה דבר מרגע שנכתב בנאי כלשהו למחלקה לא ניתן עוד להשתמש בבנאי ברירת המחדל יש מקרים שבהם נהיה חייבים להשתמש בבנאי חסר פרמטרים ולכן נגדיר כזה לכל מחלקה 37 אוניברסיטת תל אב י ב

יצירה וא תחול מפורשים עצ מי ם נוצרים רק ע"י שי מו ש מפור ש באופרטור new int [] arr = {1, 2, 3}; 2 יוצ אי דופן: אתחול מערך: יצירת מחרוזות ע"י מרכאות: String hello = "hello"; 38 אוניברסיטת תל אב י ב