הנכות 1 םוכיס לוגרת 14 1

Similar documents
הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1

הנכות 1 םוכיס לוגרת 13 1

Software 1 with Java. Initialization. Initialization. Initialization. Pass by Value. Initialization. Recitation No. 11 (Summary)

תוכנה 1 סמסטר א' תשע"א

הנכות 1 תואיגש םע תודדומתהו תואלול,םי : כרעמ 2 לוגרת

הנכות 1 תואיגש םע תודדומתהו תואלול,םיכרעמ : לו 2 גרת

מערכים שעור מס. 4 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes

תוכנה 1 תרגול 2: מערכים ומבני בקרה

CSCI 201L Written Exam #1 - SOLUTION Fall % of course grade

תוכנה 1 תרגול 2: מערכים, מבני בקרה ושגיאות

HAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner.

CSCI 201L Written Exam #1 Fall % of course grade

משתנים שעור מס. 2 כל הזכויות שמורות דר ' דרור טובי המרכז האוניברסיטאי אריאל 1

Lecture 13 Summary. Assignment 3 Discussion. Polymorphism 3/4/2009. Assignment 3 Polymorphism Interfaces

תוכנה 1 * לא בהכרח בסדר הזה

CSCI 201L Written Exam #1 Fall % of course grade

Algorithms. Intro2CS week 5

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 * לא בהכרח בסדר הזה

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Loop through Arrays. Array Creation and Initialization

תוכנה 1 מערכים. Array Creation and Initialization. Array Declaration. Array Creation and Initialization. Loop through Arrays

תוכנה 1 3 תרגול מס' מערכים ומבני בקרה

public class B { private int f = 0; public static void main(string[] args) { B b1 = new B(); B b2 = new B(); Object b3 = b1;

מצליחה. 1. int fork-bomb() 2. { 3. fork(); 4. fork() && fork() fork(); 5. fork(); printf("bla\n"); 8. return 0; 9. }

ECE Fall 2014, Final Exam

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

Exercise: Singleton 1

שים לב! אין לכתוב בשוליים. השוליים יחתכו לצורך סריקת המבחן.

מבוא למדעי המחשב תרגול 8 רשימה משורשרת כללית, Comparator

מדעי המחשב 2 יחידות לימוד פתרון בחינת הבגרות פרק א. I x > a. פתרון 2: משפט switch

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

מבוא למדעי המחשב תרגול 13: עצים בינאריים

HAS-A Relationship. Association is a relationship where all objects have their own lifecycle and there is no owner.

COE318 Lecture Notes Week 10 (Nov 7, 2011)

Last name:... First name:... Department (if not D-INFK):...

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

Outline. Java Models for variables Types and type checking, type safety Interpretation vs. compilation. Reasoning about code. CSCI 2600 Spring

Practical Session - Heap

CSCI 201L Written Exam #1 Fall % of course grade

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

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)

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

Tutorial 10. Introduction to C++ שימו

Exam Name: Java Standard Edition 6 Programmer Certified Professional Exam

Sun Certified Programmer for the Java 2 Platform. SE6.0

שאלה 1, סעיף ב )11 נק'(

C# part II Object-oriented Programming Object-oriented Programming 1

Java. Massimo Dong. November 27, Massimo Dong Java November 27, / 26

<exp> ::= <define> <cexp> <define> ::= ( define <var-decl> <cexp> ) / DefExp(var:VarDecl, val:cexp)

ECE Fall 20l2, Second Exam

תרגול 3 מערכים ופונקציות

OOPs Concepts. 1. Data Hiding 2. Encapsulation 3. Abstraction 4. Is-A Relationship 5. Method Signature 6. Polymorphism 7. Constructors 8.

Class definition. complete definition. public public class abstract no instance can be created final class cannot be extended

Programming for Engineers in Python

Programming for Engineers in Python

Software 1. תרגול 9 Java I/O

JAVA Programming Language Homework I - OO concept

Java Exceptions Java, winter semester

לתיכנות עם MATLAB Lecture 5: Boolean logic and Boolean expressions

מבוא למדעי המחשב תירגול 3:

GlobalLogic Technical Question Paper

רזח יליגרתו םי יראני ב ם

תוכנה 1 תרגול מספר 13

תוכנה 1 תרגול מספר 13

Oracle. Exam Questions 1Z Java Standard Edition 6 Programmer Certified Professional Exam. Version:Demo

Testpassport. T e s tpas s port.

תרשים המחלקות ותרשים העצמים

תוכנה 1. תרגול מספר 11: Static vs. Dynamic Binding מחלקות מקוננות Nested Classes בית הספר למדעי המחשב אוניברסיטת תל אביב

Software 1. The java.io package. Streams. Streams. Streams. InputStreams

public class Test { static int age; public static void main (String args []) { age = age + 1; System.out.println("The age is " + age); }

Instance Members and Static Members

Wentworth Institute of Technology COMP201 Computer Science II Spring 2015 Derbinsky. C++ Kitchen Sink. Lecture 14.

CMSC131. Exceptions and Exception Handling. When things go "wrong" in a program, what should happen.

Atelier Java - J1. Marwan Burelle. EPITA Première Année Cycle Ingénieur.

CMP-326 Exam 2 Spring 2018 Total 120 Points Version 1

Fall CS 101: Test 2 Name UVA ID. Grading. Page 1 / 4. Page3 / 20. Page 4 / 13. Page 5 / 10. Page 6 / 26. Page 7 / 17.

מבוא למדעי המחשב תירגול 2: מבוא למדעי המחשב מ' - תירגול 2

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

הקלחמ ה תמרב ת ונ וכ ת (static members ) יליזרב דהוא Java תפשב ם דקת מ תונכת ביבא ל ת תטיסרבינוא

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

במידה ולסעיף ניתנה תשובה ובנוסף נרשם לגבי הסעיף לא יודע/ת אזי הניקוד שיינתן

Introduction to Java

Java Standard Edition 6 Programmer Certified Professional Exam

Questions Answer Key Questions Answer Key Questions Answer Key

קורס גרפיקה ממוחשבת 2008 סמסטר ב' ליאור שפירא 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

CSE 431S Type Checking. Washington University Spring 2013

1.Which four options describe the correct default values for array elements of the types indicated?

Classes and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?

INSTRUCTIONS TO CANDIDATES

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

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

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

- מבחן. - 4 עבודות ב- JAVA. הגשה בזוגות דרך ה- System Submission

Section: Inheritance Heck

16-Dec-10. Consider the following method:

Overriding Variables: Shadowing

What will this print?

תוכנה 1 ומחלקות פנימיות

Transcription:

תוכנה 1 סיכום תרגול 14 1

קצת על מנשקים מנשק יכול להרחיב יותר ממנשק אחד שירותים במנשק הם תמיד מופשטים וציבוריים public interface MyInterface { public abstract int foo1(int i); int foo2(int i); The modifiers of foo1 and foo2 are the same. 2

מנשקים public interface Foo { public void bar() throws Exception; public class FooImpl implements Foo { public void bar() { System.out.println("No exception is thrown"); public static void main(string args[]) { Foo foo = new FooImpl(); foo.bar(); האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, למה? אחרת, מה הפלט? שגיאת קומפילציה: "Unhandled exception type Exception" 3

מנשקים - המשך public interface Foo { public void bar() throws Exception; public class FooImpl implements Foo { public void bar() { System.out.println("No exception is thrown"); public static void main(string args[]) { FooImpl foo = new FooImpl(); foo.bar(); האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, למה? אחרת, מה הפלט? פלט: "No exception is thrown" 4

מנשקים וירושה Consider the following class hierarchy: Interface Animal { class Dog implements Animal{ class Poodle extends Dog { class Labrador extends Dog { Animal Dog Poodle Labrador Which of the following lines (if any) will not compile? Poodle poodle = new Poodle(); Animal animal = (Animal) poodle; Dog dog = new Labrador(); animal = dog; poodle = dog; poodle = (Poodle) dog; -No compilation error -Runtime Exception - Compilation Error Type mismatch: cannot convert from Dog to Poodle Labrador labrador = (Labrador) dog; -No compilation error -No Runtime Exception 5

מנשקים וירושה class A { public void print() { System.out.println("A"); האם יש שגיאה? class B extends A implements C { interface C { void print(); אין שגיאות קומפילציה public כברירת מחדל 6

מנשקים וירושה class A { void print() { System.out.println("A"); האם יש שגיאה? class B extends A implements C { interface C { void print(); שגיאת קומפילציה: The inherited package method A.print() cannot hide the public abstract method in C 7

דריסה של שירותים public void print() { System.out.println("A"); public class C { public static void main(string[] args){ B b = new B(); A a = b; public class B extends A { public void print() { System.out.println("B"); b.print(); a.print(); אין צורך ב- casting B B האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, למה? הפלט: 8 אחרת, מה הפלט?

דריסה של שירותים וניראות public void print() { System.out.println("A"); public class B extends A { protected void print() { System.out.println("B"); public class C { public static void main(string[] args) { B b = new B(); b.print(); שגיאת קומפילציה: "Cannot reduce the visibility of the inherited method from A" האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, למה? 9 אחרת, מה הפלט?

דריסה של שירותים )2( וניראות protected void print() { System.out.println("A"); public class B extends A { public void print() { System.out.println("B"); public class C { public static void main(string[] args) { B b = new B(); b.print(); B האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, אחרת, מה הפלט? למה? הפלט: 10

הורשה public void foo() { System.out.println("A.foo()"); public class B extends A { public void foo() { System.out.println("B.foo()"); public void bar() { System.out.println("A.bar()"); foo(); public static void main(string[] args) { A a = new B(); a.bar(); הפלט: A.bar() B.foo() האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, אחרת, מה הפלט? למה? 11

הורשה )2( private void foo() { System.out.println("A.foo()"); public class B extends A { public void foo() { System.out.println("B.foo()"); public void bar() { System.out.println("A.bar()"); foo(); public static void main(string[] args) { A a = new B(); a.bar(); הפלט: A.bar() A.foo() האם הקוד מתקמפל? אם לא, למה? אם כן, האם יש שגיאת ריצה? אם יש, אחרת, מה הפלט? למה? 12

הורשה ובנאים String bar = "A.bar"; A() { foo(); public void foo() { System.out.println("A.foo(): bar = " + bar); public class B extends A { String bar = "B.bar"; public class C { public static void main(string[] args) { A a = new B(); System.out.println("a.bar = " + a.bar); a.foo(); B() { foo(); public void foo() { System.out.println("B.foo(): bar = " + bar); : הפלט? output What is the B.foo(): bar = null B.foo(): bar = B.bar a.bar = A.bar B.foo(): bar = B.bar 13

הורשה ובנאים )2( protected B b = new B(); public A() { System.out.println("in A: no args."); public A(String s) { System.out.println("in A: s = " + s); public class B { public B() { System.out.println("in B: no args."); public class C extends A { protected B b; public C() { System.out.println("in C: no args."); public C(String s) { System.out.println("in C: s = " + s); : הפלט? output What is the in B: no args. in A: no args. in C: no args. in B: no args. in A: no args. in C: no args. public class D { public static void main(string args[]) { C c = new C(); A a = new C(); 14

הורשה ובנאים )3( protected B b = new B(); public A() { System.out.println("in A: no args."); public A(String s) { System.out.println("in A: s = " + s); public class B { public B() { System.out.println("in B: no args."); public class C extends A { protected B b; public C() { System.out.println("in C: no args."); public C(String s) { System.out.println("in C: s = " + s); : הפלט? output What is the in B: no args. in A: no args. in C: s = c in B: no args. in A: no args. in C: s = a public class D { public static void main(string args[]) { C c = new C("c"); A a = new C( a"); 15

דריסה והעמסה של שירותים public float foo(float a, float b) throws IOException { public class B extends A { אילו מהשירותים הבאים ניתן להגדיר ב- B? 1. float foo(float a, float b){ 2. public int foo(int a, int b) throws Exception{ 3. public float foo(float a, float b) throws Exception{ 4. public float foo(float p, float q) { 16

הורשה ודריסת שירותים public void foo() { public class B extends A { public void foo() { האם אפשר לקרוא ל- foo של?B מתוך A תשובה: דרך super.foo() 17

הורשה ודריסת שירותים )2( public void foo() { public class B extends A { public void foo() { האם אפשר לקרוא ל- foo של?C מתוך A תשובה: אי אפשר, super.super.foo() - לא חוקי public class C extends B { public void foo() { 18

מחלקות פנימיות public class Test { public int a = 0; private int b = 1; אילו משתנים מ- a-e המסומנת? נגישים מהשורה public void foo(final int c) { int d = 2; class InnerTest { private void bar(int e) { תשובה: כולם חוץ מ- d 19

בחינה באופק!... הבחינה תכלול את כל הנושאים שכיסינו במהלך הסמסטר )שיעורים, תרגולים ועבודות בית(,IO,iterator ירושה ופולימורפיזם,,DBC,Java,Collection Framework מחלקות פנימיות,,Generics חומר סגור לפתור כמה שיותר מבחנים משנים שעברו לא כל הסמסטרים זהים מבחינת חומר לתרגל כתיבת קוד על נייר 20