מה חבילה של Java בתכנות

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

חבילה מאפשרת למפתח לקבץ שיעורים (וממשקים) יחד. שיעורים אלה יהיו קשורים בדרך כלשהי - יתכן וכולם קשורים ליישום ספציפי או לבצע סט משימות ספציפי. לדוגמה, ג'אווה API מלא בחבילות. אחד מהם הוא חבילת javax.xml. זה וחבילות המשנה שלו מכילות את כל המחלקות בממשק ה- API הקשורות לטיפול XML.

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

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

לדוגמה, שם חבילת javax.xml מראה ש XML הוא חבילת משנה של חבילת javax. זה לא נעצר שם, תחת XML יש 11 חבילות משנה: bind, crypto, datatype, מרחב שמות, מנתחים, סבון, זרם, טרנספורמציה, אימות, ws ו- XPath.

instagram viewer

על הספריות במערכת הקבצים להתאים להיררכיית החבילה. לדוגמה, השיעורים בחבילת javax.xml.crypto יחיו במבנה ספרייה של.. \ javax \ xml \ crypto.

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

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