Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing.

Slides:



Advertisements
Similar presentations
Processes and threads. תהליכים ותתי תהליכים תהליכים –כל תוכנית שרצה היא תהליך (process) –ניתן להתפצל מתהליך אחד למספר תהליכים, בעזרת הפקודה fork(). הרבה.
Advertisements

Object Oriented 33 MCSD DORON AMIR
ממיבחניםC שאלות ++.
תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
Files 1 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015 יום חמישי 16 אפריל 2015.
מבוא למדעי המחשב לתעשייה וניהול
בתרגול הקודם הורשה: –ניתן להרחיב רק מחלקה אחת –כל מה שלא private – עובר בהורשה –המילה השמורה super –יצירת היררכיה –Object היא שורש ההיררכיה –דריסה אופרטור.
האוניברסיטה העברית בירושלים
1 תוכנה 1 תרגול 14 – סיכום. 2 קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
1 מבוא למדעי המחשב משתנים. 2  סוגי משתנים בשפת C  ההבדלים בין סוגי המשתנים השונים.
1 נושאי התרגול : Copy constructor Assignment operator המרת טיפוסים אוטומטיות. תכנות גנרי - Templates.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
תרגול חזרה. מבנה האובייקט תאר את מבנה האובייקט כולל מבנה טבלאות הפונקציות הוירטואליות עבור התכנית הבאה struct A { int x; virtual void a() {}; }; struct.
1 ++C: יוצרים, הורסים ואופרטורים. 2 המחלקה Stack תזכורת class Stack { private: int* array; int size, top_index; public: Result init (int size) ; void.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
אתחולים ובנאים יצירת מופע חדש של עצם כוללת : הקצאת זכרון, אתחול, הפעלת בנאים והשמה לשדות במסגרת ריצת הבנאי נקראים גם הבנאי / ים של מחלקת הבסיס תהליך זה.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
ISE 582: Information Technology for Industrial Engineering Instructor: Elaine Chew University of Southern California Department of Industrial and Systems.
תרגול 10: הכרות עם ++C ++C כ- C משופר
תוכנה 1 בשפת Java שיעור מספר 1: מתחילים מחדש
1 ++C: יוצרים, הורסים ואופרטורים. 2 המחלקה Stack תזכורת class Stack { private: int* array; int size, top_index; public: Result init (int size) ; void.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
1 נושאי התרגול : Copy constructorCopy constructor Assignment operatorAssignment operator המרת טיפוסים אוטומטיות המרת טיפוסים אוטומטיות תכנות גנרי – Templates.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
אתחול עצמים. אתחולים ובנאים יצירת מופע חדש של עצם כוללת: הקצאת זכרון, אתחול, הפעלת בנאים והשמה לשדות במסגרת ריצת הבנאי נקראים גם הבנאי/ם של מחלקת הבסיס.
המשך תכנות מונחה עצמים 1. היום בתרגול  הורשה  שיטות מיוחדות  פולימורפיזם 2.
תוכנה 1 תרגול מס ' 3 מערכים ומבני בקרה. 2 מערכים Array: A fixed-length data structure for storing multiple values of the same type Example: An array of.
ניתוח מערכות מידע ב נעים להכיר... תכנות ב C#.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
1 תרגול 11: Design Patterns ומחלקות פנימיות 1 תוכנה 1.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים פולימורפיזם מתקדם ממשקים בג ' אווה 1.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
1 מבוא למדעי המחשב הרצאה 5: פונקציות. 2 מבוא לפונקציות חלוקה של אלגוריתם לתת משימות: משימה - פונקציה: דוגמאות מציאת המקסימלי מבין שני איברים האינדקס של.
1 תרגול 11: Design Patterns ומחלקות פנימיות אסף זריצקי ומתי שמרת 1 תוכנה 1.
Copyright 2011 by Pearson Education Building Java Programs Chapter 3 Lecture 3-2: Return values, Math, and double reading: 3.2,
Java Reflection הוכן על-ידי אחמד ג'בארה
מחרוזות – הטיפוס String
האוניברסיטה העברית בירושלים
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Object Oriented Programming
Object Oriented Programming
Operators Overloading
Object Oriented Programming
Object Oriented Programming
מחלקות classes.
מבוא לתכנות מונחה עצמים Object Oriented Programming
תוכנה 1 תרגול 13 – סיכום.
תכנות מכוון עצמים ושפת JAVA
Static and enum קרן כליף.
תכנות מכוון עצמים ו- C++ יחידה 04 constructors, destructor
תכנות מכוון עצמים בשפת JAVA
תוכנה 1 בשפת Java שיעור מספר 2: "תזרום אח שלו"
תרגול מס' 6 מחלקות, עצמים, וקצת חוזים
ניתוח מערכות מידע תכנות ב C#
תכנות מכוון עצמים ושפת JAVA
תכנות מכוון עצמים ושפת JAVA
סוגי משתנים קרן כליף.
מבוא לתכנות מונחה עצמים Object Oriented Programming
תוכנה 1 תרגול 13 – סיכום.
תכנות מכוון עצמים ו- C++ יחידה 02 העמסת פונקציות, ערכי ברירת מחדל, enum, קימפול מותנה קרן כליף.
פולימורפיזם מתקדם ממשקים בC# עריכה ועיצוב: קרן הרדי
Presentation transcript:

Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing = 8; int script = 6, acting = 9, directing = 8; System.out.print("The rating of the movie is "); System.out.print("The rating of the movie is "); System.out.println(movieRating(script, acting, directing)); System.out.println(movieRating(script, acting, directing)); } public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing = 8; int script = 6, acting = 9, directing = 8; System.out.print("The rating of the movie is "); System.out.print("The rating of the movie is "); System.out.println(movieRating(script, acting, directing)); System.out.println(movieRating(script, acting, directing)); } שיטה (Method) – קטע קוד מזוהה המיצג תהליך חישובי כלשהו שיטה (Method) – קטע קוד מזוהה המיצג תהליך חישובי כלשהו מונחי יסוד : מונחי יסוד : ארגומנטים ארגומנטים פרמטרים פרמטרים ערכים מוחזרים ערכים מוחזרים קריאה לשיטה : קריאה לשיטה : קביעה לאיזו שיטה בוצעה הקריאה קביעה לאיזו שיטה בוצעה הקריאה הקצאת מקום בזכרון לערכי הארגומנטים הקצאת מקום בזכרון לערכי הארגומנטים כתיבת ערכי הארגומנטים במקום שהוקצה כתיבת ערכי הארגומנטים במקום שהוקצה זיהוי המקומות בזכרון עם הפרמטרים של השיטה זיהוי המקומות בזכרון עם הפרמטרים של השיטה ביצוע התהליך החישובי ביצוע התהליך החישובי החזרת הערך החזרת הערך שיטה (Method) – קטע קוד מזוהה המיצג תהליך חישובי כלשהו שיטה (Method) – קטע קוד מזוהה המיצג תהליך חישובי כלשהו מונחי יסוד : מונחי יסוד : ארגומנטים ארגומנטים פרמטרים פרמטרים ערכים מוחזרים ערכים מוחזרים קריאה לשיטה : קריאה לשיטה : קביעה לאיזו שיטה בוצעה הקריאה קביעה לאיזו שיטה בוצעה הקריאה הקצאת מקום בזכרון לערכי הארגומנטים הקצאת מקום בזכרון לערכי הארגומנטים כתיבת ערכי הארגומנטים במקום שהוקצה כתיבת ערכי הארגומנטים במקום שהוקצה זיהוי המקומות בזכרון עם הפרמטרים של השיטה זיהוי המקומות בזכרון עם הפרמטרים של השיטה ביצוע התהליך החישובי ביצוע התהליך החישובי החזרת הערך החזרת הערך

Methods public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int result, script = 6; int result, script = 6; result = script; result = script; int acting = 9; int acting = 9; result = result + acting; result = result + acting; int directing = 8; int directing = 8; result = result + directing; result = result + directing; System.out.print("The rating of the movie is "); System.out.print("The rating of the movie is "); System.out.println(result); System.out.println(result);}} public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int result, script = 6; int result, script = 6; result = script; result = script; int acting = 9; int acting = 9; result = result + acting; result = result + acting; int directing = 8; int directing = 8; result = result + directing; result = result + directing; System.out.print("The rating of the movie is "); System.out.print("The rating of the movie is "); System.out.println(result); System.out.println(result);}} public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing = 8; int script = 6, acting = 9, directing = 8; System.out.print("The rating of the movie is "); System.out.print("The rating of the movie is "); System.out.println(movieRating(script, acting, directing)); System.out.println(movieRating(script, acting, directing)); } public static int movieRating (int s, int a, int d) { public static int movieRating (int s, int a, int d) { return s + a + d; return s + a + d; }} ללא שיטה עם שיטה הפשטה הפשטה הסתרה הסתרה עם שיטה הפשטה הפשטה הסתרה הסתרה

Methods שפת JAVA מאפשרת לקרוא לפונקציה גם אם היא נמצאת במחלקה אחרת שפת JAVA מאפשרת לקרוא לפונקציה גם אם היא נמצאת במחלקה אחרת ניתן ליצור פונקציה עם אותו שם במספר מחלקות שונות ניתן ליצור פונקציה עם אותו שם במספר מחלקות שונות בעת הקריאה לפונקציה קושרים אותה עם המחלקה הרצויה על ידי שימוש ב - field selection operator – '.' בעת הקריאה לפונקציה קושרים אותה עם המחלקה הרצויה על ידי שימוש ב - field selection operator – '.' שפת JAVA מאפשרת לקרוא לפונקציה גם אם היא נמצאת במחלקה אחרת שפת JAVA מאפשרת לקרוא לפונקציה גם אם היא נמצאת במחלקה אחרת ניתן ליצור פונקציה עם אותו שם במספר מחלקות שונות ניתן ליצור פונקציה עם אותו שם במספר מחלקות שונות בעת הקריאה לפונקציה קושרים אותה עם המחלקה הרצויה על ידי שימוש ב - field selection operator – '.' בעת הקריאה לפונקציה קושרים אותה עם המחלקה הרצויה על ידי שימוש ב - field selection operator – '.' public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing = 8; int script = 6, acting = 9, directing = 8; System.out.print("The ordinary rating of the movie is "); System.out.print("The ordinary rating of the movie is "); System.out.println(Movie.movieRating(script, acting, directing)); System.out.println(Movie.movieRating(script, acting, directing)); System.out.print("The James Bond movie rating of the movie is "); System.out.print("The James Bond movie rating of the movie is "); System.out.println( System.out.println( JamesBondMovie.movieRating(script, acting, directing) JamesBondMovie.movieRating(script, acting, directing) ); ); }} public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int script = 6, acting = 9, directing = 8; int script = 6, acting = 9, directing = 8; System.out.print("The ordinary rating of the movie is "); System.out.print("The ordinary rating of the movie is "); System.out.println(Movie.movieRating(script, acting, directing)); System.out.println(Movie.movieRating(script, acting, directing)); System.out.print("The James Bond movie rating of the movie is "); System.out.print("The James Bond movie rating of the movie is "); System.out.println( System.out.println( JamesBondMovie.movieRating(script, acting, directing) JamesBondMovie.movieRating(script, acting, directing) ); ); }}

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

העמסה Methods - Overloading public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { int intScript = 6, intActing = 9, intDirecting = 8; int intScript = 6, intActing = 9, intDirecting = 8; double doubleScript = 6.0, doubleActing = 9.0, doubleDirecting = 8.0; double doubleScript = 6.0, doubleActing = 9.0, doubleDirecting = 8.0; displayMovieRating(intScript, intActing, intDirecting); displayMovieRating(intScript, intActing, intDirecting); displayMovieRating(doubleScript, doubleActing, doubleDirecting); displayMovieRating(doubleScript, doubleActing, doubleDirecting); } // First, define displayMovieRating with integers: // First, define displayMovieRating with integers: public static void displayMovieRating (int s, int a, int d) { public static void displayMovieRating (int s, int a, int d) { System.out.print("The integer rating of the movie is "); System.out.print("The integer rating of the movie is "); System.out.println(s + a + d); System.out.println(s + a + d); return; return; } // Next, define displayMovieRating with floating-point numbers: // Next, define displayMovieRating with floating-point numbers: public static void displayMovieRating (double s, double a, double d) { public static void displayMovieRating (double s, double a, double d) { System.out.print("The floating-point rating of the movie is "); System.out.print("The floating-point rating of the movie is "); System.out.println(s + a + d); System.out.println(s + a + d); return; return; }} העמסת פונקציות – הגדרת פונקציות בעלות אותו שם מספר פעמים העמסת פונקציות – הגדרת פונקציות בעלות אותו שם מספר פעמים

Methods – built in math class public class Demonstrate { public static void main (String argv[]) { public static void main (String argv[]) { System.out.println("Natural logarithm of 10: " + Math.log(10)); System.out.println("Natural logarithm of 10: " + Math.log(10)); System.out.println("Absolute value of -10: " + Math.abs(-10)); System.out.println("Absolute value of -10: " + Math.abs(-10)); System.out.println("Maximum of 2 and 3: " + Math.max(2, 3)); System.out.println("Maximum of 2 and 3: " + Math.max(2, 3)); System.out.println("5th power of 6: " + Math.pow(6, 5)); System.out.println("5th power of 6: " + Math.pow(6, 5)); System.out.println("Square root of 7: " + Math.sqrt(7)); System.out.println("Square root of 7: " + Math.sqrt(7)); System.out.println("Sin of 8 radians: " + Math.sin(8)); System.out.println("Sin of 8 radians: " + Math.sin(8)); System.out.println("Random number (0.0 to 1.0): " + Math.random()); System.out.println("Random number (0.0 to 1.0): " + Math.random()); }}

Variable scope פרמטרים של שיטה הינם מקומיים פרמטרים של שיטה הינם מקומיים public class Movie { public static int movieRating (int s, int a, int d) { public static int movieRating (int s, int a, int d) { return s + a + d; return s + a + d; } public static int demonstrate ( int s, int a, int d){ public static int demonstrate ( int s, int a, int d){ return Movie.movieRating (s,a,d); return Movie.movieRating (s,a,d);}} public class Movie { public static int movieRating (int s, int a, int d) { public static int movieRating (int s, int a, int d) { return s + a + d; return s + a + d; } public static int demonstrate ( int s, int a, int d){ public static int demonstrate ( int s, int a, int d){ return Movie.movieRating (s,a,d); return Movie.movieRating (s,a,d);}}

בנאים Constructors מהלך חיי מופע כולל בד " כ 3 שלבים עיקריים : מהלך חיי מופע כולל בד " כ 3 שלבים עיקריים : אתחול אתחול עיבוד עיבוד הריסה הריסה לצורך אתחול המופע הוגדר מנגנון מיוחד הנקרא בנאי Constructor : " שיטה המוגדרת ע " י המתכנת ונקראת אוטומטית בזמן יצירת עצם ". לצורך אתחול המופע הוגדר מנגנון מיוחד הנקרא בנאי Constructor : " שיטה המוגדרת ע " י המתכנת ונקראת אוטומטית בזמן יצירת עצם ". הבנאי מופעל בעת יצירת מופע ע " י האופרטור new הבנאי מופעל בעת יצירת מופע ע " י האופרטור new שם השיטה זהה לשם המחלקה ואין הצהרה על ערך מוחזר. שם השיטה זהה לשם המחלקה ואין הצהרה על ערך מוחזר. ניתן לבצע העמסה כמו בכל שיטה אחרת. ניתן לבצע העמסה כמו בכל שיטה אחרת. שחרור הזיכרון נעשה בד " כ באופן אוטומטי ע " י ה - Garbage collector אולם אם בכל זאת רוצים לטפל בהריסה, ניתן להגדיר שיטת סיום. שחרור הזיכרון נעשה בד " כ באופן אוטומטי ע " י ה - Garbage collector אולם אם בכל זאת רוצים לטפל בהריסה, ניתן להגדיר שיטת סיום. מהלך חיי מופע כולל בד " כ 3 שלבים עיקריים : מהלך חיי מופע כולל בד " כ 3 שלבים עיקריים : אתחול אתחול עיבוד עיבוד הריסה הריסה לצורך אתחול המופע הוגדר מנגנון מיוחד הנקרא בנאי Constructor : " שיטה המוגדרת ע " י המתכנת ונקראת אוטומטית בזמן יצירת עצם ". לצורך אתחול המופע הוגדר מנגנון מיוחד הנקרא בנאי Constructor : " שיטה המוגדרת ע " י המתכנת ונקראת אוטומטית בזמן יצירת עצם ". הבנאי מופעל בעת יצירת מופע ע " י האופרטור new הבנאי מופעל בעת יצירת מופע ע " י האופרטור new שם השיטה זהה לשם המחלקה ואין הצהרה על ערך מוחזר. שם השיטה זהה לשם המחלקה ואין הצהרה על ערך מוחזר. ניתן לבצע העמסה כמו בכל שיטה אחרת. ניתן לבצע העמסה כמו בכל שיטה אחרת. שחרור הזיכרון נעשה בד " כ באופן אוטומטי ע " י ה - Garbage collector אולם אם בכל זאת רוצים לטפל בהריסה, ניתן להגדיר שיטת סיום. שחרור הזיכרון נעשה בד " כ באופן אוטומטי ע " י ה - Garbage collector אולם אם בכל זאת רוצים לטפל בהריסה, ניתן להגדיר שיטת סיום.

public class Square { Point ul; //upper left corner float size; public Square (Point po, float s)//constructor שם הבנאי זהה לשם המחלקה, ללא סוג ערך מוחזר { ul = po; size = s; }} public class Main { public static void main (String[] args) { Point po = new Point ( ); po.set (5,2) Square sq = new Square (po, 8); //call constructor }} Constructors

public class Square { Point ul; //upper left corner float size; public Square (Point po, float s) //constructor 1 { ul = po; size = s; } public Square (float x, float y, float s) //constructor 2 { ul =new Point (x, y ); size = s; }} Constructors - overloading

Constructors Default constructor – קיים בנאי מחדל המוגדר ע " י המהדר לכל מחלקה אשר לא מקבל ארגומנטים ואינו מבצע דבר. כאשר כותבים constructor דורסים את ה -Default constructor.Default constructor – קיים בנאי מחדל המוגדר ע " י המהדר לכל מחלקה אשר לא מקבל ארגומנטים ואינו מבצע דבר. כאשר כותבים constructor דורסים את ה -Default constructor. Copy constructor בנאי העתקה – שיטה המשמשת להעתקת תכונות של עצם קיים לעצם החדש.Copy constructor בנאי העתקה – שיטה המשמשת להעתקת תכונות של עצם קיים לעצם החדש. Default constructor – קיים בנאי מחדל המוגדר ע " י המהדר לכל מחלקה אשר לא מקבל ארגומנטים ואינו מבצע דבר. כאשר כותבים constructor דורסים את ה -Default constructor.Default constructor – קיים בנאי מחדל המוגדר ע " י המהדר לכל מחלקה אשר לא מקבל ארגומנטים ואינו מבצע דבר. כאשר כותבים constructor דורסים את ה -Default constructor. Copy constructor בנאי העתקה – שיטה המשמשת להעתקת תכונות של עצם קיים לעצם החדש.Copy constructor בנאי העתקה – שיטה המשמשת להעתקת תכונות של עצם קיים לעצם החדש. public Student(Student s) { age = s.age; id = s.id; } public Student(int age, int id){ age = a; id = i; } Student noa = new Student();  שגיאה. בנאי מחדל נדרס, יש להגדירו public Student(){…} בנאי ללא ארגומנטים מוגדר מחדש public Student(int age, int id){ age = a; id = i; } Student noa = new Student();  שגיאה. בנאי מחדל נדרס, יש להגדירו public Student(){…} בנאי ללא ארגומנטים מוגדר מחדש

הצבעה כפולה לעומת שכפול Movie m, s m = new Movie(); m = new Movie(); איסוף זבל אוטומטי s = m; הצבעה כפולה – אין יצירת אובייקט חדש s.script = 5; System.out.println(m.script); מה הפלט ? s = new Movie(m); שכפול באמצעות בנאי העתקה s.script = 6; System.out.println(m.script); מה הפלט ?

מה הפלט ? Student yosi = new Student(); Student rami = yosi; yosi.age = 55; rami.age = 30; yosi = new Student(); System.out.println(yosi.age);System.out.println(rami.age); yosi = new Student(rami); System.out.println(rami.age);

this קריאה לבנאי מתוך בנאי אחר – ע " י public class Square { Point ul;//upper left corner float size; public Square(Point po, float s) //constructor1 { ul = po; size = s; System.out.print("A new rectangular was created."); } public Square(float left, float top, float s) //constructor2 { this(new Point(left,top), s);//call constructor1 System.out.print("A new rectangular was created."); }}

תירגול 2 סטודנט באוניברסיטה הינו בעל הפרטים הבאים : סטודנט באוניברסיטה הינו בעל הפרטים הבאים : – גיל – כתובת – מיקוד – מס ' זהות – מס ' טלפון יש להגדיר בנאי עם 5 ארגומנטים ו 4 ( ללא גיל - המאתחל את הגיל ל 30 ), בנאי מעתיק ובנאי ברירת מחדל ( ללא ארגומנטים ) המאתחל גיל ל 30 והשאר ל 0. יש להגדיר בנאי עם 5 ארגומנטים ו 4 ( ללא גיל - המאתחל את הגיל ל 30 ), בנאי מעתיק ובנאי ברירת מחדל ( ללא ארגומנטים ) המאתחל גיל ל 30 והשאר ל 0. כתוב תוכנית הקולטת את פרטי 5 סטודנטים מהמשתמש, וצור 5 מופעי סטודנט בהתאם. כתוב תוכנית הקולטת את פרטי 5 סטודנטים מהמשתמש, וצור 5 מופעי סטודנט בהתאם. במידה ובקלט הגיל = 0 יש ליצור את האובייקט ע " י בנאי עם 4 ארגומנטים. במידה ובקלט הגיל = 0 יש ליצור את האובייקט ע " י בנאי עם 4 ארגומנטים. כל יצירת מופע סטודנט תלווה בהדפסת הפרטים ( ע " י קריאה לשיטה המדפיסה את פרטי הסטודנט ) כל יצירת מופע סטודנט תלווה בהדפסת הפרטים ( ע " י קריאה לשיטה המדפיסה את פרטי הסטודנט )

Main… Scanner scan = new Scanner(System.in); for (int i=0;i<5;i++) age=scan.nextInt(); address=scan.nextInt();zip=scan.nextInt();id=scan.nextInt();phone=scan.nextInt();If(age==0) new Student(address,zip,id,phone); else new Student(age,address,zip,id,phone);