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

אולי קראתם את המרכיבים מהתפריט, אבל אתם לא יודעים איך בדיוק מכינים את הסלסה. התיבול שהם משתמשים בירקות שלהם יכול להיות תערובת סודית. עם זאת, אינך צריך לדעת כל מרכיב מדויק. מספיק לדעת שזה טעים.

המרכיבים שאתה מכיר, כמו אורז לבן רגיל, הם בטון. שאר האלמנטים מופשטים. אתה יודע שזו סלסה, אבל איזה סוג? או, אם מישהו פשוט נותן לך בוריטו משום מקום, אז כל הבוריטו מופשט.

הפשטה בתקציר

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

אתה יכול לחשוב על בוריטו כעל חפץ. בתוך הבוריטו, יש לך כמה חפצים אחרים, כמו שעועית, אורז, גבינה ורוטב חריף. ייתכן שהשעועית הייתה מתובלת. הגבינה יכולה להיות תערובת. והרוטב החם עשוי להיות שילוב של פלפלים מיושנים בחומץ.

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

instagram viewer

הפשטה קשורה קשר הדוק לאנקפסולציה

זה אותו דבר עם תכנות אובייקטים. כאשר אתה יוצר אובייקט (יוצרים אותו מכיתה), זה כמו להזמין בוריטו מדלפק משאית האוכל. יש לך גישה לחלק מהנתונים, אבל לא לכולם. אתה לא צריך לדעת איך האובייקט עובד, כל עוד הפונקציות מחזירות את הנתונים הנכונים. הנה בוריטו ב-JavaScript/Typescript:

השפה שצוינה: tsx לא קיימת'
יצירת הקוד נכשלה!!
'

אתה יכול שחקו עם הקוד הזה בארגז החול של TypeScript.

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

הפשטה בבטון

הפשטה היא יותר מאשר מושג. שיעורים יכולים להיות גם מופשטים. זה אומר שהם יכולים להגדיר מחלקות אחרות. אבל אי אפשר להמחיש אותם בעצמם.

מדוע שיעורים צריכים לפעמים להיות מופשטים

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

זה די מופשט. היית מזמין את זה? האם היית אוכל את זה? כנראה שלא היית. להגיד שמשהו הוא אוכל זה לא מספיק. זה צריך להתפרק למשהו יותר קונקרטי.

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

מה זה מופשט ומה זה בטון?

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

הנה דוגמה עם תקציר מזון כיתה, וילד אגוזי מקדמיה מעמד:

השפה שצוינה: tsx לא קיימת'
יצירת הקוד נכשלה!!
'

הנה הקוד.

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

שימו לב שה אגוזי מקדמיה מעמד משתרעמזון. זה אומר את זה אגוזי מקדמיה מסכים לציית לכללים של מזון. כמו כן, שימו לב שהקונסטרוקטור קורא סוּפֶּר. הפקודה הזו מבצעת מופע של מחלקת האב לפני שהקונסטרוקטור מבצע מופע אגוזי מקדמיה.

אם אתה לומד לתכנת, אתה יכול תהנה יותר עם משחקי התכנות האלה.

תרגול הפשטה

  • בקר בקישור למעלה והשתמש בארגז החול כדי ליצור מחלקה מופשטת בשם מרק.
  • צור ילד קונקרטי של ה מרק כיתה, שנקרא דגני בוקר.
  • להשתמש console.log כדי לבדוק את הקוד שלך. מה יקרה אם שלך דגני בוקר מחלקה חסרה אחת מהפונקציות המוגדרות ב מרק?

אבל מה הטעם בשיעור שאתה לא יכול ליצור מופע?

בהתחלה, שיעורים מופשטים עשויים להיראות מיותרים. אחרי הכל, אתה לא יכול להשתמש בהם כדי ליצור חפץ. וזה לא שהם מעבירים את הפונקציות שלהם. יש לשכתב פונקציות בכל כיתת ילד.

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

כיצד לארגן את הקוד שלך מונחה עצמים עם ירושה

קרא הבא

לַחֲלוֹקצִיוּץלַחֲלוֹקאימייל

נושאים קשורים

  • תִכנוּת
  • תִכנוּת
  • תכנות מונחה עצמים

על הסופר

לי נתן (19 מאמרים שפורסמו)

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

עוד מאת לי נתן

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחץ כאן כדי להירשם