الواجهات البرمجية والمكتبات
مُقدَّم| English | المعنى |
|---|---|
| library/ˈlaɪbrəri/ | مكتبة |
| API/ˌeɪ piː ˈaɪ/ | واجهة برمجة التطبيقات |
الوقوف على أكواد الآخرين
- لا تكتب كل شيء من الصفر — Java مزودة بكميات هائلة من الأكواد الجاهزة.
- المكتبة هي مجموعة من الفئات المكتوبة مسبقاً يمكنك استخدامها.
- المكتبة القياسية لـ Java تتضمن
String،Math،Scanner،ArrayList، وألاف غيرها. - إعادة استخدام أكواد مكتبات مختبرة أسرع وأكثر أماناً من اختراعها من جديد.
ما يخبرك به واجهة برمجة التطبيقات
- واجهة برمجة التطبيقات (API) هي القائمة الموثقة لما تقدمه الفئة.
- تخبرك باسم كل طريقة وما هي المعاملات التي تأخذها وماذا ترجع.
- تبرمج بناءً على الـ API — تستخدم الطريقة حسب سلوكها الموثق، لا الكود الداخلي.
- الـ API عقد: "أعطني هذه المدخلات، سأعطيك هذا المخرج."
استيراد فئة
- بعض الفئات تحتاج إلى جملة
importقبل استخدامها. import java.util.Scanner;يجعلScannerمتاحاً.- الفئات الأساسية مثل
StringوMathموجودة فيjava.lang— يتم استيرادها تلقائياً. - الاستيراد يكون في أعلى الملف، فوق الفئة.
استخدامه دون رؤية الداخل
- يمكنك استدعاء
Math.sqrt(x)دون معرفة كيف تحسب الجذر التربيعي. - هذا هو التجريد: يخفي الـ 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 وعد فقط: "أعطني رقماً، أرجع جذره التربيعي."
المكتبة هي كود مكتوب مسبقاً قابل لإعادة الاستخدام؛ واجهة برمجة التطبيقات توثق طرق كل فئة — أسمائها ومعاملاتها وقيم الإرجاع — حتى تبرمج بناءً على السلوك الموثق. معظم الفئات تحتاج إلى import (مثل Scanner)، لكن فئات java.lang (String، Math) يتم استيرادها تلقائياً. الـ API هو التجريد: استخدمه دون رؤية الداخل.
توثق الواجهة البرمجية (API) طرق الفئة من خلال إخبارك بـ...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
تبرمج بناءً على الاسم/المعاملات/الإرجاع الموثّق، وليس الكود الداخلي.
أي فئة تحتاج إلى جملة استيراد قبل الاستخدام؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
فئات java.lang تُستورد تلقائياً؛ Scanner (java.util) يحتاج إلى استيراد.
يجب عليك قراءة الكود الداخلي لطريقة المكتبة قبل استخدامها.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
تستخدمها بناءً على سلوكها الموثّق — وهذا هو التجريد.
مجموعة من الفئات المُعدّة مسبقاً والقابلة لإعادة الاستخدام تسمى ___ (كلمة واحدة).
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.