1 / 46

OO מושגי יסוד

OO מושגי יסוד. איציק סיון מנכ”ל 2080 P. רשימת הנושאים. OO אתגרים Object Class Encapsulation Messages Inheritance Polymorphism. OOAD אתגרים. תחזוקתיות שפה קרובה לעולם המשתמשים Reuse שפה אחידה לכל בעלי המקצוע בתחום מותאם לשפות התכנות המודרניות.

Download Presentation

OO מושגי יסוד

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OO מושגי יסוד איציק סיון מנכ”ל 2080P

  2. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  3. OOAD אתגרים • תחזוקתיות • שפה קרובה לעולם המשתמשים • Reuse • שפה אחידה לכל בעלי המקצוע בתחום • מותאם לשפות התכנות המודרניות

  4. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  5. אובייקט הגדרה • אובייקט הוא כל דבר רלוונטי מבחינה עסקית: חפץ,אדם,מקום,ארוע,מסך,דוח,מושג

  6. דוגמא לאוביקט טכני X A Window _ Behavior MoveSize Minimize MaximizeClose

  7. דוגמא לאובייקט • This watch is an object • It can • Display time • Set time • Sound alarm • Set alarm • Its weight is 50 gr. • It is water resistant • Its color is gold

  8. דוגמא לאובייקט • זהו אובייקט תלמיד • הוא יכול • להרשם לקורס • לבטל קורס • לשלם שכר לימוד • שמו: יוסי קלינטון • מספר הטלפון:03-5555555 • מספר ת.ז :30941111

  9. פעולות/התנהגות פעולה • כל מה שאוביקט יכול לעשות • כל מה שניתן לעשות עם האוביקט התנהגות • כל הפעולות של האוביקט

  10. /State Attribute • לאוביקט יש מספר רצוי של תכונות • אוסף כל הערכים במצב נתון מכונים State

  11. Object Identity • לכל אובייקט יש זיהוי חד ערכי • לזיהוי יש משמעות טכנית בלבד • שם נרדף לזיהוי Handle • הזיהוי אינו נגזר מערכי המצב

  12. Created State 1 State 2 State 3.... Destroyed מחזור החיים של אוביקט

  13. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  14. Class • מחלקה היא תבנית ממנה יוצרים אוביקטים

  15. מחלקה ואובייקט • לכל האובייקטים במחלקה יש מאפיינים זהים ואותה התנהגות • בכל רגע נתון יש לכל אובייקט זהות חד ערכית ומצב ספציפי. • כל אובייקט הוא מופע Instance)) של מחלקה

  16. סוגי אוביקטים • Transient - אובייקט זמני שאורך חייו מוגבל לאירוע/טרנזקציה • Persistent – אוביקטים שנשמרים ב DB

  17. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  18. הכמסה - Encapsulation • הפרדה מוחלטת בין המימוש ובין המימשק, כלומר חוקי השימוש • הסביבה מכירה אך ורק את המימשק

  19. IDFirstLastAddressSalary Class Manager Update Salary UpdateAddress Pay Pay Data -------- Processes UpdateSalary Update Address Hire Hire Promote Retrieve Retrieve Promote Fire Fire

  20. IDFirstLastAddressSalary הכמסה של נתונים Attributes UpdateAddress Pay Data ------ Processes UpdateSalary Hire Promote Retrieve Fire

  21. הכמסה של נתונים • הייצוג של הנתונים נסתר מעיני המשתמש • הגישה לנתונים מתבצעת אך ורק על ידי פעולות • כל מי שמעוניין לקבל שירותים מאובייקט מכיר אך ורק את הממשק שלו ((Signature

  22. מה היה קורה בשנת 2000 אם כל התוכנות היו כתובות ב OOP

  23. IDFirstLastAddressSalary הכמסה של תהליכים Methods UpdateAddress Pay Data ------ Processes UpdateSalary Hire Promote Retrieve Operation/ Service Fire

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

  25. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  26. 74.3 abc W÷u ¥ cfxpdq 3@42 % ‡ ְlp ÷ -1/÷ 74.3 abc W÷u 74.3 abc W÷u ¥ ¥ cfxpdq cfxpdq 3@42 3@42 % ‡ ְlp ÷ % ‡ ְlp ÷ -1/÷ -1/÷ שיתוף פעולה בין אוביקטים Messages A C B Request

  27. Messages • בין האוביקטים קימים קשרי שרת לקוח Client Server • אוביקט מספק שרותים ללקוחותיו • הלקוח יכול להיות אוביקט אחר או משתמש • אוביקט יכול להיות שרת לאוביקטים מסוימים ומצד שני לקוח של אוביקטים אחרים

  28. מסרים • אוביקט מבקש שרות מאוביקט אחר באמצעות מסרים • הלקוח אמור לדעת את התחביר של השרות המבקש • הלקוח אדיש לחלוטין לאלגוריתם הביצוע((Method הוא מעוניין רק בתוצאה • התוצאה מועברת מהשרת ללקוח בהתאם לפורמט ידוע מראש((Interface

  29. כיצד פונים לאובייקט בשפת תכנות • דוגמא מחלקה= עובדים • אוביקטים :Klinton,Barak הוראות אופיניות: T1=Klinton.tel(); T2=Barak.tel(); S=Barak.salary();

  30. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  31. דוגמא להורשה עובד מרצה מן המניין מרצה חוץ עוזר הוראה

  32. Inheritance Generalization/Specialization Vehicle Superclass is a kind of Car SuperclassSubclass Boat Sports Car PassengerCar Truck SailingBoat Motorboat CargoShip (Subclass) Class

  33. Phone Call Example Phone Call Superclass > > Long Distance Local Subclass

  34. הורשה - הגדרה • המחלקה הנוכחית היא סוג מיוחד של מחלקת העל )(Superclass • לכל אובייקט של תת המחלקה יש את כל המאפיינים וההתנהגות של תת המחלקה ובנוסף גם את כל המאפיינים וההתנהגויות של מחלקת העל • תת מחלקה יכולה לשנות את הפונקציונליות של שירותי מחלקת העל,אבל לא את שם השרות ((Override • תת מחלקה יכולה גם לבצע שירכוב על מאפייני מחלקת העל

  35. הורשה של מאפיינים Vehicle license # • למחלקה Truck : יש 3 מאפיינים • License # • Weight • Tonnage Car weight Truck tonnage

  36. הורשה של פעולות Vehicle register()getTax() • למחלקה Truck יש 4 פעולות: • register() • getTax() • getWeight() • getTonnage() Car getWeight() Truck getTonnage()

  37. Inheriting Relationships owner Vehicle Person 0..* 1 • A truck is related to an owner • A truck is related to drivers • A truck has a trailer Car Driver 0..* 0..* Truck Trailer

  38. הורשה דוגמא Watch Date time SetDate(d) CalculatorWatch CalculatorState EnterCalcMode() InputNo(n)

  39. Student Name Address Sex Date Reg H. Phone Create Change Name Change Sex Extension Student Special Student Degree Student Funding Source Cumulative Course Hours Reason W. Phone Program Year Date Started Update Cum Course Hours Edit Funding Source Edit Reason CalcGPA Graduate Undergraduate Student Graduate Student Full-Time Degree Student Part-Time Degree Student Credits Earned Thesis Advisor Thesis Topic Semesters Attended Semesters Completed Number of Courses Number of Course Hours Update Credits Return Credits Edit Advisor Return Advisor Semesters Attended Semesters Completed Generalization/Specializati

  40. Company Division Department Committee Team Marketing Sales Admin Service Personnel A Class Hierarchy Organization Headquarters Admin Branch Admin

  41. מחלקות מופשטות/מוחשיות • מחלקות אשר אינן מייצרות אובייקטים נקראות מחלקות מופשטות • מחלקות אשר מייצרות אובייקטים ( (instantiate מכונות מחלקות מוחשיות Concrete Classes

  42. מחלקה מופשטת Worker Butcher Baker Programmer

  43. כיצד יוצרים אוביקט • Class Programmer…… • Programmer p1, p2,itzik ; • p1=new programmer(); • ………

  44. רשימת הנושאים • OO אתגרים • Object • Class • Encapsulation • Messages • Inheritance • Polymorphism

  45. רבוי צורות Polymorphism • היכולת של אובייקטים ממחלקות שונות בעלות מחלקת על משותפת לספק שירותים שונים בתגובה למסר זהה

  46. Geometrical Shapes Closed Shape SelectDisplay > > Circle Polygon Radius Size Number of Sides SelectDisplay SelectDisplay

More Related