חבילות בג'אווה: כיצד ליצור ולהשתמש בחבילות בג'אווה?



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

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

להלן הנושאים הניתנים במאמר זה:





מהי חבילה בג'אווה?

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

שימוש בחבילות בזמן קידוד מציע יתרונות רבים כמו:



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

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

סוגי חבילות בג'אווה

בהתבסס על אם החבילה מוגדרת על ידי המשתמש או לא, חבילות מחולקות לשתי קטגוריות:

  1. חבילות מובנות
  2. חבילות המוגדרות על ידי המשתמש

חבילות מובנות

חבילות מובנות או חבילות מוגדרות מראש הן אלה שמגיעות כחלק מ- (ערכת פיתוח Java) לפשט את המשימה של מתכנת Java. הם מורכבים ממספר עצום של מחלקות וממשקים שהוגדרו מראש שהם חלק מ- Java API. חלק מהחבילות המובנות הנפוצות הן java.lang, java.io, java.util, java.applet וכו '. הנה תוכנית פשוטה המשתמשת בחבילה מובנית.



חבילה של אדוריקה ייבוא ​​java.util.ArrayList class BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('מרכיבי הרשימה הם:' + myList)}}

תְפוּקָה:

מרכיבי הרשימה הם: [3, 2, 1]

מחלקת ה- ArrayList שייכת לחבילה java.util. כדי להשתמש בו, עלינו לייבא את החבילה באמצעות הצהרת הייבוא. השורה הראשונה של הקוד ייבא java.util.ArrayList מייבא את חבילת java.util ומשתמש בו אשר קיים בחבילת המשנה.

חבילות המוגדרות על ידי המשתמש

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

יצירת חבילה בג'אווה

יצירת חבילה בג'אווה היא משימה מאוד קלה. בחר שם לחבילה וכלל א חֲבִילָה פקודה כהצהרה הראשונה בקובץ המקור של Java. קובץ המקור של java יכול להכיל את המחלקות, הממשקים, המנויים וסוגי ההערות שברצונך לכלול בחבילה.לדוגמא, ההצהרה הבאה יוצרת חבילה בשם החבילה שלי.

חבילה MyPackage

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

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

כולל שיעור בחבילה בג'אווה

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

חבילה MyPackage מחלקה ציבורית השווה {int num1, num2 השווה (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('ערך מקסימלי של שניים מספרים הוא '+ מספר 1)} אחר {System.out.println (' הערך המרבי של שני מספרים הוא '+ מספר 2)}} ראשי ריק סטטי ציבורי (טענות מחרוזת []) {השווה הנוכחי [] = חדש השווה [3] הנוכחי [1] = חדש השווה (5, 10) הנוכחי [2] = חדש השווה (123, 120) עבור (int i = 1 i<3 i++) { current[i].getmax() } } } 

תְפוּקָה:

רצף פיבונאצי + ++
הערך המרבי של שני מספרים הוא 10 הערך המרבי של שני מספרים הוא 123

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

ייתכן שאתה תוהה כיצד להשתמש בכיתה השווה זו משיעור בחבילה אחרת?

יצירת כיתה בתוך חבילה תוך ייבוא ​​חבילה אחרת

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

חבילה Edureka ייבוא ​​MyPackage. השווה מחלקה ציבורית הדגמה {ציבורי ריק ריק סטטי (ארגומנטים מחרוזת []) {int n = 10, m = 10 השווה הנוכחי = חדש השווה (n, m) אם (n! = m) {current.getmax ()} אחר {System.out.println ('שני הערכים זהים')}}}

תְפוּקָה:

שני הערכים זהים

הכרזתי לראשונה על החבילה אדוריקה ואז ייבא את הכיתה לְהַשְׁווֹת מהחבילה MyPackage. אז, הסדרכשאנחנו יוצרים מחלקה בתוך חבילה בזמן שייבוא ​​חבילה אחרת הוא,

  • הצהרת חבילה
  • ייבוא ​​חבילה

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

שימוש בשם מוסמך במלואו בעת ייבוא ​​כיתה

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

חבילה Edureka מחלקה ציבורית הדגמה {public static void main (String args []) {int n = 10, m = 11 // שימוש בשם מוסמך לחלוטין במקום לייבא MyPackage. השווה הנוכחי = MyPackage חדש. השווה (n, m) אם ( n! = m) {current.getmax ()} אחר {System.out.println ('שני הערכים זהים')}}}

תְפוּקָה:

הערך המרבי של שני מספרים הוא 11

בשיעור הדגמה, במקום לייבא את החבילה, השתמשתי בשם מוסמך לחלוטין כגון MyPackage.Compare ליצור את האובייקט שלו. מכיוון שאנחנו מדברים על ייבוא ​​חבילות, אתה יכול לבדוק את הרעיון של ייבוא ​​סטטי ב- Java.

ייבוא ​​סטטי בג'אווה

תכונת הייבוא ​​הסטטי הוצגה בשנת מגרסה 5. זה מאפשר למתכנת Java לגשת לכל סטטיחבר בכיתה ישירות מבלי להשתמש בשם המוסמך.

חבילה MyPackage ייבוא ​​סטטי java.lang.Math. * // ייבוא ​​סטטי ייבוא ​​סטטי java.lang.System. * // ייבוא ​​סטטי מחלקה ציבורית StaticImportDemo {ציבורי ריק ריק סטטי (ארגומנטים מחרוזת []) {כפול כפול = 64.0 כפול sqroot = sqrt (val) // גישה לשיטת sqrt () ישירות out.println ('שורש ריבוע של' + val + 'הוא' + sqroot) // איננו צריכים להשתמש ב- 'System.out}}
 תְפוּקָה: 
מ'ר. השורש של 64.0 הוא 8.0

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

הגנת גישה בחבילות Java

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

  • כיתות משנה באותה חבילה
  • לא מחלקות משנה באותה חבילה
  • כיתות משנה בחבילות שונות
  • כיתות שאינן באותה חבילה או כיתות משנה

הטבלה שלהלן נותנת אתמונה אמיתית של איזה סוג גישה אפשרית ואיזה אינה בשימוש בחבילות ב- Java:

פְּרָטִי אין שינוי מוּגָן פּוּמְבֵּי

אותה כיתה

כן

כן

כן

כן

מחלקות משנה זהות לחבילה

כיצד לבצע התראה ב - JavaScript

לא

כן

כן

כן

אותה חבילה שאינה מחלקות משנה

לא

כן

כן

כן

pl sql הדרכה למתחילים

מחלקות משנה של חבילות שונות

לא

לא

כן

כן

חבילות שונות שאינן מחלקות משנה

לא

לא

לא

כן

אנו יכולים לפשט את הנתונים בטבלה שלעיל באופן הבא:

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

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

נקודות לזכור

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

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

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