מופשטות ) ופונקציות (Abstractמחלקות
Tomer Zait
מושגים: ) אבסטרקטית ) מופשטת מחלקה
. ממומשת לא בה אחת פונקציה לפחות אשר מחלקה ) את ) לממש לנו מאפשרת פונקציה של חתימה ממומשת לא פונקציה
הפונקציה. שלנו מהמחלקה היורשות המחלקות לכל המתאימה בצורה
, למוצר מחיר לחשב אמורה שלנו הפונקציה כאשר, המחיר - חישוב של שונה סוג להיות יכול מוצר בכל בעיה לנו להיווצר יכולה
. זו לבעיה פתרון לתת באה האבסטרקטית המחלקה
והמשתנים מהפונקציות חלק כאשר נכון יהיה מופשטת במחלקה שימושמתאימים
. שלנו מהמחלקה יורשות אשר המחלקות לכל
כותבים אנו מונפשת מחלקה על להכריז .abstract בשבילב משתמשים אנו ממנה לרשת . extendsובשביל
:) אינטרספייס ) ממשק. מחלקות כמה בין המקשר חוזה כמו הוא ממשק
) המאפשרות ) פונקציות של חתימות ממומשות לא פונקציות ישנן בממשקלנו
על חתומות אשר המחלקות לכל המתאימה בצורה הפונקציות את לממשחוזה
. הממשק עם
בפרוצדורות לפעול צריכות הפונקציות כל כאשר נכון יהיה בממשק שימוששונות,
. , וכו שונות בצורות פועלות אובייקטים של שונים סוגים מקבלות כלומר
כותבים אנו מונפשת מחלקה על להכריז .interface בשבילב משתמשים אנו חוזה על איתה לחתום . implementsובשביל
והסברים דוגמאות: דוגמא מופשטת מחלקה
public abstract class Toy { protected String name; protected double basePrice;
public Toy(String name, double basePrice) { this.name = name; this.basePrice = basePrice; }
public abstract double ComputePrice();
public void ChangeBasePrice(double percent) { this.basePrice += (this.basePrice * percent) / 100; {{
: הסבר מופשטת מחלקהישנן שראינו , 2במחלקה אינה מהן ואחת אבסטרקטית מהן אחת פונקציות
אבסטרקטית.
מופשטת ) שאינה עובדת( ChangeBasePriceבפונקציה אשר פעולה ישנהבדיוק
שלנו ) מהמחלקה יורשות אשר המחלקות בכל צורה (.Toyבאותה
המופשטת ) שונות( ComputePriceבפונקציה בצורות עובדת אשר פעולה ישנהשלנו ) מהמחלקה יורשת אשר מחלקה (.Toyבכל
: דוגמא ממשק
interface Shape{ public String baseClass = "Shape";
public void Draw;)(}
: הסבר ממשקשלנו .Shapeהחוזה הקיימות הצורות כל בין לקשר נועד
ה פונקציית את שונה בצורה לממש תוכל צורה (.Drawכל ציור )
\ , חפצים למיון ממשק לכתוב אפשר למשל ירושה עם הדוק קשר אין לממשק. ועוד\ חיות אנשים
. דבר מהשני אחד יורשים אינם ואלו
מופשטת למחלקה ממשק בין ההבדלים
•. יש מופשטת ולמחלקה ירושה עם הדוק קשר אין לממשק
מופשטת • ולמחלקה ממומשות לא להיות חייבות הפונקציות כל בממשק
. להיות חייבת אחת רק
עם • משתמשים עם implements בממשק משתמשים מופשטת ובמחלקה
extends.
עם • ממשק על עם interfaceמכריזים מכריזים מופשטת מחלקה ועל
abstract.
לחתום • יכולות מחלקות וכמה מחלקות כמה עם חוזה לחתום יכול ממשק
. אחת, ממחלקה לרשת אפשר כלומר מחלקה היא מופשטת מחלקה הסואיתוף
Top Related