APIs וספריות
הוצג| English | משמעות |
|---|---|
| library/ˈlaɪbrəri/ | ספרייה |
| API/ˌeɪ piː ˈaɪ/ | API |
לעמוד על גבי קוד אחר
- אינך כותב הכל מאפס — Java מגיעה עם כמויות עצומות של קוד מוכן.
- ספרייה היא אוסף של מחלקות שנכתבו מראש שתוכל להשתמש בהן.
- ספריית התקן של Java כוללת
String,Math,Scanner,ArrayList, אלפים נוספות. - שימוש מחדש בקוד ספרייה שנבדק מהיר ובטוח יותר מאשר יצירתו מחדש.
מה API מספר לך
- API (ממשק תוכנת אפליקציה) הוא רשימה מסודרת של מה שמחלקה מציעה.
- היא מספרת את שם כל שיטה, אילו פרמטרים היא מקבלת, ומה היא מחזירה.
- מתכנתים כלפי ה-API — משתמשים בשיטה לפי התנהגותה המסודרת, לא לפי הקוד הפנימי שלה.
- ה-API הוא חוזה: "תנו לי כניסה כזו, ואני אעניק לכם פלט כזה."
ייבוא מחלקה
- לחלק ממחלקות נדרש ביטוי
importלפני השימוש בהן. import java.util.Scanner;הופך אתScannerלזמין.- מחלקות ליבה כמו
Stringו-Mathנמצאות ב-java.lang— מובאות אוטומטית. - ההיכלול נמצא בראש הקובץ, מעל המחלקה.
השתמש בו מבלי לראות בתוכו
- ניתן לקרוא ל-
Math.sqrt(x)מבלי לדעת איך הוא מחשב שורש ריבועי. - זהו ה abstraction: ה-API מסתיר את היישום מאחורי ממשק פשוט.
- תצטרך רק את ה-מה (ההתנהגות המסודרת), ולא את ה-איך.
- ספריית טובה מאפשרת לך לבנות במהירות על ידי התנהגות עם קוד מורכב כתיבה שחורה.
להשתמש בספרייה או לכתוב אותה בעצמך?
לסדר כל משימה לפי כך אם ספריית סטנדרט כבר מבצעת אותה.
אתה מתכנן בהתאם להתנהגות המסודרת של ה-API, לא לקוד הפנימי שלו. קרא מה שמשתתף בשיטה נושא ו-מחזיר — אין לך צורך (או רצון) לראות איך היא עובדת בפנים. זכור שרוב המחלקות זקוקות ל-import, אך מחלקות java.lang (String, Math, System, Integer) נכללות אוטומטית, כך ש-Scanner זקוק ל-import java.util.Scanner; בעוד ש-Math אינו זקוק לזה.
שימוש בספריית Math:
- אין צורך בהיכלול —
Mathנמצא ב-java.lang. double r = Math.sqrt(16);→rהוא4.0, ואין לך לעולם רואים את האלגוריתם.- ה-API רק הבטיח: "תן לי מספר, אני מחזיר את השורש הרביעי שלו."
ספרייה היא קוד מוכן לשימוש חוזר; ה-API מסדיר כל שיטת מחלקה — שמותיהן, פרמטרים וערכי החזרה — כדי שתוכל לתכנן לפי ההתנהגות המסודרת. רוב המחלקות זקוקות ל-import (למשל Scanner), אך מחלקות java.lang (String, Math) נכללות אוטומטית. ה-API הוא abstraction: השתמש בו מבלי לראות בתוכו.
API תיעד את שיטות הכיתה על ידי הצגת ה-… שלהן
Difficulty 1/5 · 100 coins + a small bonus on first completion today
אתה מתכנת לפי השם/הפרמטרים/הערך המוחזר התיעודיים, לא הקוד הפנימי.
איזה כיתה דורשת הודעת import לפני השימוש?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
כתיבות java.lang מובנות באופן אוטומטי; Scanner (java.util) דורש import.
אין צורך לקרוא את הקוד הפנימי של שיטת ספרייה כדי להשתמש בה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
אתה משתמש בה לפי ההתנהגות התיעודית שלה — זהו_rpcstration_.
קבוצה של כתיבות כתובות מראש וניתנות לשימוש חוזר נקראת ___ (מילה אחת).
Difficulty 1/5 · 100 coins + a small bonus on first completion today
ספרייה מארגנת קוד ניתן לשימוש חוזר.
Math ו-String מוטעים אוטומטית מכיוון שהם נמצאים ב-java.lang.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
java.lang מוטע כברירת מחדל בכל תוכנית Java.