You are on page 1of 8

OOP

Object oriented programming


‫‪Class and objects‬‬

‫מתודות חשובות‪:‬‬
‫בנאי – כדי לאתחל אוביקט‬
‫‪ this‬קריאה לעצם שאנו עובדים בו (לא חובה להשתמש בו אלא במקרה מסוים)‪.‬‬
‫‪ – )(toString‬הדפסה נכונה של האוביקט‬
‫‪ – equals‬בודקת האם מופע שהתקבל כפרמטר זהה בערכיו למופע הנוכחי (‪.)this‬‬
Aggregation
‫כימוס ‪Encapsulation -‬‬

‫■ הגנה על השדות (פניות מחוץ למחלקה) באמצעות ה‪.modifier private‬‬


‫■ גישה רק באמצעות שיטות גישה (‪.)setters & getters‬‬
‫■ ‪ set‬תבדוק אם הערך חוקי‪.‬‬
‫עבודת כיתה – שאלה ממבחן‬
public class Fraction{
  public Fraction(double a, double b);    
;)(    public double getNumerator

;)(public double getDenominator    

public void setNumerator(double a);          


;    public void setDenominator(double b)

public void add(Fraction other);    


    public void multiply(Fraction other);
    public String toString();
;    public boolean equals(Fraction other)

}
‫עבודת כיתה‬
‫■ מחלקה ‪Point‬‬
‫– לכל נקודה יש‪ x‬ו‪ . y -‬נרצה להדפיס במבנה (‪ )x,y‬ונוסיף עוד פונקציות‬
‫– מתודה שתחזיר מרחק מאובייקט ‪ point‬אחר‬

‫■ מחלקה ‪Circle‬‬
‫– נממש באמצעות נקודה ורדיוס ‪r‬‬

‫■ מחלקה ‪Pow‬‬
‫– ‪a^b‬‬
‫עבודת בית ‪1‬‬
‫כתבו מחלקה בשם ‪Student‬‬ ‫■‬ ‫כתבו מחלקה בשם ‪Course‬‬ ‫■‬
‫שדות המחלקה‪:‬‬ ‫שדות המחלקה‪:‬‬
‫‪grades‬מטיפוס ‪ – GradesManager‬ציוני‬ ‫•‬ ‫‪ grade‬ציון הקורס‬ ‫•‬
‫הסטודנט‪.‬‬ ‫‪ name‬שם הקורס‬ ‫•‬
‫‪ – name‬שם הסטודנט‪.‬‬ ‫•‬ ‫מתודות המחלקה‪:‬‬
‫מתודות המחלקה‪:‬‬ ‫‪ – toString‬המחזירה מחרוזת של שם הקורס והציון בו בצורה‬ ‫•‬
‫הבאה‪name+”: “+grade :‬‬
‫‪ – toString‬המחזירה מחרוזת של ציוני‬ ‫•‬ ‫‪ – setters & getters‬לשדות המחלקה‪.‬‬ ‫•‬
‫הסטודנט בקורסים השונים בצורה הבאה‪:‬‬
‫‪)(name+”| “+grades.getAverage‬‬
‫)‪ addGrade(courseName, grade‬היוצרת‬ ‫•‬ ‫כתבו מחלקה ‪GradesManager‬‬ ‫■‬
‫מופע קורס עם הפרמטרים שקיבלה (שם קורס‬ ‫שדות המחלקה‪:‬‬
‫וציון) ומוסיפה אותו ל‪ .grades‬ניתן להניח כי‬ ‫• ‪ courseList‬מערך של קורסים‪ .‬המערך יכול להכיל לכל היותר ‪10‬‬
‫לא יתווספו יותר מ‪ 10‬קורסים‪.‬‬ ‫קורסים‪.‬‬
‫‪ )(getAllGrades‬המחזירה את המתודה‪:‬‬ ‫•‬ ‫מתודות המחלקה‪:‬‬
‫‪)(GradesManager.toString‬‬ ‫• ‪ – toString‬המחזירה מחרוזת של הציונים בצורה הבאה‪“ :grades“ :‬‬
‫ולאחר מכן מפעילה את ‪ toString‬של קורס ברשימת הקורסים‪.‬‬
‫• )‪ addCourse(course‬המקבלת קורס ומוסיפה אותו לרשימת‬
‫הקורסים‪.‬‬
‫• ‪ getAverage‬המחשבת ומחזירה את ממוצע הציונים של כל‬
‫הקורסים‪.‬‬
‫עבודת בית ‪2‬‬
‫■ כתבו מחלקה ‪Quadratic‬‬
‫המחלקה מייצגת את הנוסחה‬
‫שדות המחלקה‪:‬‬
‫‪A, B, C‬‬ ‫•‬
‫מתודות המחלקה‪:‬‬
‫‪ – toString‬המחזירה מחרוזת של הנוסחה עם הערכים המתאימים בצורה הבאה‪:‬‬ ‫•‬
‫לדוגמה‪ :‬עבור ‪ ,A=3.2, B=5.1, C=0‬יודפס‪:‬‬

‫הערה‪ :‬ניתן להדפיס את הסימן ^ על ידי לחיצה על ‪shift+6‬‬


‫• ‪ )(getItresectX‬מחזירה את נקודות החיתוך עם ציר ‪( x‬הטיפוס המוחזר מטיפוס‬
‫‪. )point‬אם יש יותר מנקודת חיתוך אחת יש להחזיר את הנקודה בעלת ערך ה‪x-‬‬
‫הקטן יותר‬
‫• ‪ )(getItresectY‬מחזירה את נקודות החיתוך עם ציר ‪( y‬הטיפוס המוחזר מטיפוס‬
‫‪ . )point‬אם יש יותר מנקודת חיתוך אחת יש להחזיר את הנקודה בעלת ערך ה‪y-‬‬
‫הקטן יותר‬
‫‪)(getDerivative‬המחזירה את הנגזרת ‪.2AX+B‬‬ ‫•‬
‫‪ )(getType‬המחזירה ‪ true‬אם לפרבולה נקודת ‪ min‬או ‪ false‬אם הנקודה היא‬ ‫•‬
‫‪( max‬בוכה או מחייכת)‪.‬‬

You might also like