Slide 1

מסמכים קשורים
מבוא למדעי המחשב

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

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

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

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

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

Slide 1

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

Slide 1

תרגול 1

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

PowerPoint Presentation

Slide 1

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

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

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

PowerPoint Presentation

Microsoft PowerPoint - rec3.ppt

Microsoft Word - pitaron222Java_2007.doc

PowerPoint Presentation

1

מס' סידורי: ת.ז.: עמוד 1 מתוך 20 בחינה בתוכנה 1 סמסטר ב', מועד א',תשס"ט 5/7/2009 וולף, ליאור ליאור שפירא, נעמה מאיר, מתי שמרת הוראות )נא לקרוא!( משך ה

PowerPoint Presentation

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

Slide 1

PowerPoint Presentation

תרגול 1

PowerPoint Presentation

PowerPoint Presentation

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

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

תרגול 1

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

Microsoft PowerPoint - 10_threads.ppt

PowerPoint Presentation

תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1

PowerPoint Presentation

תרגול 3 - מערכים

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

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

תרגול 1

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

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

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

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

1

Slide 1

PowerPoint Presentation

Microsoft Word a_moed_a_solution.doc

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

PowerPoint Presentation

1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב

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

Microsoft PowerPoint - lec10.ppt

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

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

Microsoft PowerPoint - 06_inheritance_noBackgroung.ppt

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

PowerPoint Presentation

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

Microsoft PowerPoint - rec8.ppt

Microsoft Word - דוגמאות ב

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

שאלה אחת

Microsoft PowerPoint - 07_tdd.ppt

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

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

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

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

Microsoft PowerPoint - 07_tdd.ppt

Tutorial 11

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

Slide 1

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

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

Microsoft PowerPoint - lec9.ppt

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

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

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

Slide 1

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

Microsoft PowerPoint - meli-iso.ppt

Slide 1

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

Microsoft Word - Presentation.doc

שואב אבק רובוטי XIAOMI דגם - Vacuum Mi Robot מק"ט ספק 8223 תכנון מסלול חכם שאיבה חזקה שליטה חכמה ע"י Wi-Fi מרחוק בעל 21 חיישנים למיפוי מושלם של הבית צ

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

Homework Dry 3

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

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

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

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

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

תמליל:

מבוא למדעי המחשב משפחות של מחלקות ומחלקות מופשטות

תזכורת בשיעור הקודם ראינו מחלקה של Student והרחבה שלה למחלקה של Milgae למעשה Student יכול לעמוד בראש היררכיה שלמה של מחלקות שונות של סטודנטים למשל, בנוסף למלגאי, אפשר לחשוב על שומעים חופשיים סטודנטים בתוכניות של החלפת סטודנטים סטודנטים עם שכר לימוד מוגבל וכו'

היררכיה של מחלקות Student יתרונות הכללה מחזור קוד Milgae FreeAuditor Visitor מבנה ההיררכיה בראש ההיררכיה המחלקה הכללית ביותר כל מחלקה ספציפית יותר מזו שהיא תלויה עליה שיטות מורשות שיטות חדשות דריסה - משמעות ספציפית לשיטות שמקבלים בירושה מעשית מתחילים מלמעלה מגדירים את מה שכללי לכולם מרחיבים ומפרטים

המחלקה סטודנט public class Student extends Object { private static int COURS_PRICE = 1000; private String name; private int numofcourses; public Student(String name, int numofcourses) { this.name = name; this.numofcourses = numofcourses;

המחלקה סטודנט public String getname() { return name; public int getnumofcourses() { return numofcourses; public int tuitionfee() { return numofcourses * COURS_PRICE;

המחלקה סטודנט public boolean equals(object other) { return other instanceof Student && ((Student) other).name.equals(name); public String tostring() { return "{" + name + ", " + numofcourses + ", " + tuitionfee() + "";

המחלקה מלגאי public class Milgae extends Student { private int milga; public Milgae(String name, int numofcourses, int milga) { super(name, numofcourses); this.milga = milga; public int getmilga() { return milga; public int tuitionfee() { return Math.max(0, super.tuitionfee() - milga);

המחלקה שומע חופשי public class FreeAuditor extends Student { public FreeAuditor(String name, int numofcourses) { super(name, numofcourses); public int tuitionfee() { return 0;

המחלקה סטודנט אורח public class Visitor extends FreeAuditor { private String university; public Visitor(String name, int numofcourses, String university) { super(name, numofcourses); this.university = university; public String getuniversity() { return university;

סוג של תת-מחלקה היא סוג של מחלקת העל שלה למה?

public static void main(string[] args) { Student s1 = new Student("S1", 1); System.out.println(s1); // {S1, 1, 1000 Object s2 = new Student("S2", 2); System.out.println(s2); // {S2, 2, 2000 Milgae m1 = new Milgae("M1", 1, 100); System.out.println(m1); // {M1, 1, 900 Student m2 = new Milgae("M2", 2, 200); System.out.println(m2); // {M2, 2, 1800 Object m3 = new Milgae("M3", 3, 300); System.out.println(m3); // {M3, 3, 2700 FreeAuditor f1 = new FreeAuditor("F1", 1); System.out.println(f1); // {F1, 1, 0 Student f2 = new FreeAuditor("F2", 2); System.out.println(f2); // {F2, 2, 0 Object f3 = new FreeAuditor("F3", 3); System.out.println(f3); // {F3, 3, 0 Visitor v1 = new Visitor("V1", 1, "U1"); System.out.println(v1); // {V1, 1, 0 FreeAuditor v2 = new Visitor("V2", 2, "U2"); System.out.println(v2); // {V2, 2, 0 Student v3 = new Visitor("V3", 3, "U3"); System.out.println(v3); // {V3, 3, 0 Object v4 = new Visitor("V4", 4, "U4"); System.out.println(v4); // {V4, 4, 0

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

היררכיה של מכלים בצורות גיאומטריות שונות Cylinder Tank Box תכונות נדרשות תכולה מקסימלית עדכון ממדים כמות נוזל עכשווית עדכון כמות Cube טבעי לממש תכולה ברמה הפרטית (הגיאומטרית) כמות נוזלים עכשווית ברמה הכללית

המחלקה המופשטת Tank public abstract class Tank { private double content; public Tank(double content) { this.content = content; public double content() { return content; public abstract double capacity(); public double fill(double amount) { double fill = Math.min(amount, capacity() - content); content = content + fill; return fill;

המחלקה חבית public class Cylinder extends Tank { private double radius; private double height; { public Cylinder(double content, double radius, double height) super(content); this.radius = radius; this.height = height; public double capacity() { return Math.PI * radius * radius * height;

המחלקה Box public class Box extends Tank { private double x, y, z; public Box(double content, double x, double y, double z) { super(content); this.x = x; this.y = y; this.z = z; public double capacity() { return x * y * z;

המחלקה Cube public class Cube extends Box { public Cube(double content, double x) { super(content, x, x, x);

שימוש public static void main(string[] args) { Tank[] array = { new Cylinder(100, 10, 10), new Box(100, 10, 20, 30), new Cube(100, 10) ; for (int i = 0; i < array.length; i = i + 1) { System.out.print( array[i].capacity() + ":" + array[i].content()) + ":"; array[i].fill(100); System.out.println( array[i].content()); 3141.5:100.0:200.0 6000.0:100.0:200.0 1000.0:100.0:200.0

דרגות של נראות

נראות מוגנת public class Student extends Object { protected static int COURS_PRICE = 1000; private String name; protected int numofcourses; public class Milgae extends Student { private int milga; public int tuitionfee() { return Math.max(0, numofcourses * COURS_PRICE - milga);

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

Casting & instanceof (Type) x x instanceof Type עובר קומפילציה אם ורק אם Type x יש יחסים היררכיים בין העצם המיוחס ל- ו- Type העצם המיוחס ל- x הוא סוג של או x הוא סוג של העצם המיוחס ל- Type