You are on page 1of 2

‫מחלקה מיובאת‪:‬‬

‫מבוא למדעי המחשב ושפת ‪java‬‬


‫• מאפייני המחלקה‬

‫• מבנה כללי של מחלקה‬


‫‪ :4.1‬מחלקות‬
‫‪Java Software‬‬
‫• דוגמא למימוש של מחלקה‬ ‫‪Solutions‬‬
‫‪Foundations of Program Design‬‬
‫מחלקה שאין צורך לייבא‪:‬‬

‫‪John Lewis and William Loftus‬‬

‫מרצה‪ :‬ד"ר אמיר גורן‬


‫‪a‬‬ ‫‪22‬‬ ‫‪1‬‬

‫תכונות‬ ‫מחלקה היא דרך מופשטת לתיאור של כל‬


‫ש‪ .‬פרטי‪:‬‬ ‫העצמים )אובייקטים( מאותו סוג‬
‫ש‪ .‬משפחה‪:‬‬ ‫תכונות‬
‫תכונות‬
‫קבוצה‪:‬‬
‫שם פרטי‪ :‬ויין‬ ‫תפקיד‪:‬‬ ‫שם פרטי‪ :‬ליונל‬ ‫במחלקה נגדיר‪:‬‬
‫ש‪ .‬משפחה‪ :‬רוני‬ ‫שערים‪:‬‬ ‫ש‪ .‬משפחה‪ :‬מסי‬
‫קבוצה‪ :‬מ‪ .‬יונייטד‬ ‫קבוצה‪ :‬ברצלונה‬ ‫– תכונות )‪ – (Attributes‬המייצגות את מצבו‬
‫תפקיד‪ :‬חלוץ‬ ‫שיטות‬ ‫תפקיד‪ :‬חלוץ‬
‫שערים‪16 :‬‬ ‫שערים‪38:‬‬ ‫הפנימי של האובייקט‬
‫בעט לשער)(‬
‫שיטות‬ ‫רד לספסל)(‬ ‫שיטות‬ ‫– שיטות )‪ – (Methods‬מה ניתן לעשות עם‬
‫בעט לשער)(‬ ‫בעט לשער)(‬ ‫האובייקט‬
‫רד לספסל)(‬ ‫רד לספסל)(‬

‫‪a‬‬ ‫‪44‬‬ ‫‪a‬‬ ‫‪33‬‬

‫{ ‪public class NameOfClass‬‬


‫מה אנחנו רוצים‬ ‫הצהרות על תכונות וקבועים ‪//‬‬
‫שהאובייקט ייצג?‬
‫‪declarations‬‬
‫הוראות ליצירת ואתחול האובייקט ‪//‬‬
‫‪constructor definitions‬‬
‫אילו שיטות נשייך‬
‫אלו התכונות‬
‫למחלקה? מה‬ ‫הצהרות והגדרות של המתודות ‪//‬‬
‫נשייך לאובייקט?‬
‫יהיה הממשק?‬
‫‪method definitions‬‬
‫‪} // end of class‬‬
‫‪a‬‬ ‫‪66‬‬ ‫‪a‬‬ ‫‪55‬‬

‫‪1‬‬
‫מחלקה זו תייצג נקודה במישור‪ ,‬ברביע הראשון בלבד‬ ‫מכונית בחברת ליסינג מכונית בסוכנות רכב‬ ‫מה אנחנו רוצים‬
‫שהאובייקט ייצג?‬
‫לפי מערכת הצירים הקרטזית במישור דו מימדי‪.‬‬

‫תכונות‬ ‫תכונות‬ ‫אלו התכונות נשייך‬


‫סוג הרכב‪:‬‬ ‫סוג הרכב‪:‬‬
‫לאובייקט?‬
‫)‪(4,4‬‬
‫רמת איבזור‪:‬‬ ‫מספר רישוי‪:‬‬
‫)‪(1,3‬‬ ‫מחיר מחירון‪:‬‬ ‫תאריך טיפול אחרון‪:‬‬
‫תאריך אספקה‪:‬‬ ‫תאריך טיפול עתידי‪:‬‬
‫צבע הרכב‪:‬‬ ‫קילומטראז'‪:‬‬
‫)‪(2,1‬‬
‫שיטות‬ ‫שיטות‬ ‫אילו שיטות נשייך‬
‫עדכן מחיר)(‬ ‫עדכן טיפול)(‬
‫למחלקה?‬
‫ציר ‪x‬‬ ‫עדכן אספקה)(‬ ‫עדכן לקוח)(‬

‫‪a‬‬ ‫‪88‬‬ ‫‪a‬‬ ‫‪77‬‬

‫בשלב ראשון נכתוב רק את מעטפת המחלקה‬


‫ונשמור אותה בקובץ בשם ‪Point.java‬‬

‫{ ‪public class Point‬‬

‫}‬ ‫חשוב‪:‬‬
‫בג'אווה חייבת להיות התאמה מלאה בין שם‬
‫הקובץ לשם המחלקה‪.‬‬

‫‪a‬‬ ‫‪10‬‬
‫‪10‬‬ ‫‪a‬‬ ‫‪99‬‬

‫{ ‪public class Point‬‬


‫מה אנחנו רוצים שהאובייקט ייצג?‬
‫‪//declarations‬‬ ‫הצהרות על‬ ‫נקודה במרחב הקטרזי – ברביע‬
‫הראשון בלבד!‬
‫;‪private int _x‬‬ ‫משתנים‬
‫;‪private int _y‬‬ ‫וקבועים‬

‫‪//constructor and method definitions‬‬ ‫אילו שיטות נשייך למחלקה?‬


‫)‪public Point (int x, int y‬‬ ‫מה יהיה הממשק?‬
‫ישנה שיטה ליצירת אובייקט‪,‬‬
‫אלו התכונות נשייך לאובייקט?‬
‫תכונות המייצגות את ערכי‬
‫)‪public void move (int deltaX, int deltaY‬‬ ‫שיטה להזזת נקודה ושיטה‬
‫להדפסת הנקודה‬
‫הצירים ‪ x‬ו‪y-‬‬

‫)( ‪public void printStatus‬‬


‫}‬
‫‪a‬‬ ‫‪12‬‬
‫‪12‬‬ ‫‪a‬‬ ‫‪11‬‬
‫‪11‬‬

‫‪2‬‬

You might also like