الوحدة 2: أساسيات البرمجة الشيئية · الموضوع 4 من 17
الموضوع 4

الحزم Packages

الحزمة package مجلد يجمع الكلاسات المترابطة، كما تجمع المجلدات ملفاتك في الحاسب.

libraryjava.util Book.javaMain.java Scanner import java.util.Scanner;
بعد هذا الدرس ستستطيع أن:
  • تعرّف الحزمة package، وتوضّح فائدتها في تنظيم الكلاسات.
  • تميّز بين الحزم المدمجة built-in والحزم المعرّفة من المستخدم user-defined.
  • تستورد كلاسًا واحدًا أو حزمة كاملة باستخدام import.
  • تُنشئ حزمة في NetBeans، وتستخدم كلاسًا من حزمة أخرى.

١لماذا الحزم؟

🏷️ تجنّب تشابه الأسماءلا يمكن حفظ كلاسين بالاسم نفسه في المكان نفسه، لكن يمكن ذلك في حزمتين مختلفتين.
🗂️ تنظيم وصيانةتجميع الكلاسات المترابطة يسهّل العثور عليها وتعديلها.

وتنقسم إلى: حزم مدمجة Built-in من مكتبة Java API، وحزم يعرّفها المستخدم User-defined.

٢الحزم المدمجة والاستيراد import

Java API java.utilScannerRandomDatejava.timeLocalDateLocalTime
المكتبة مقسّمة إلى حزم، وكل حزمة فيها كلاسات. نستورد كلاسًا واحدًا أو الحزمة كاملة.
الصيغةالمعنى
import java.util.Scanner;استيراد كلاس واحد
import java.util.*;استيراد كل كلاسات الحزمة
Package.java
package pkgpackage;import java.util.Scanner;public class Package {    public static void main(String[] args) {        Scanner myObj = new Scanner(System.in);        System.out.println("Enter username");        String userName = myObj.nextLine();        System.out.println("Username is: " + userName);    }}
Output – JavaApplication (run)×
run:
Enter username
Username is: Ali
BUILD SUCCESSFUL (total time: 0 seconds)

استيراد حزمة كاملة: مثال java.time

حزمة java.time فيها كلاس التاريخ LocalDate والوقت LocalTime وغيرهما؛ نستوردها كاملة بـ *:

Package.java
package pkgpackage;import java.time.*;public class Package {     public static void main(String[] args) {        LocalDate date = LocalDate.now();        System.out.println(date);        LocalTime time = LocalTime.now();        System.out.println(time);    }}
Output – package (run)×
run:
2025-09-09
21:45:40.260899700
BUILD SUCCESSFUL (total time: 0 seconds)

الناتج هو تاريخ ووقت لحظة التشغيل، فيختلف كل مرة.

٣حزم يعرّفها المستخدم

جافا تخزّن الحزم كمجلدات فعلية. في هذا المثال حزمتان: week4 فيها كلاس Modifiers، وmainPackage فيها Main الذي يستورده.

package week4; public class Modifiers {    public int week_no;     public void printWeek(){        System.out.println("Week number: " + week_no);    }}
package mainPackage; import week4.Modifiers; public class Main {    public static void main(String[] args) {        System.out.println("Hello from main class");        Modifiers mod = new Modifiers();        mod.week_no = 4;        mod.printWeek();    }}
مخطط المشروع مستخرج من الكود. انقر على أي كلاس لفتح كوده.
ModifiersMain
Modifiers+ week_no : int+ printWeek() : voidMain+ main(args : String[]) : void

ملفات المشروع في تبويبات كما في NetBeans. زر التشغيل يجمعها في ملف واحد ليعمل على OneCompiler.

Output – computer programming (run)×
run:
Hello from main class
Week number: 4
BUILD SUCCESSFUL (total time: 0 seconds)
التدريب العملي 7: الاستيراد من حزمة أخرىالجزء الأول: قراءة اسم المستخدم بـ Scanner. الجزء الثاني: إنشاء حزمة package2 فيها Student و Course واستخدامهما من Main.افتح التدريب ←

توقّع وتحقّق

أجب قبل أن تنظر إلى الشرح. التصحيح فوري، وإجاباتك تُحفظ.

في import java.util.Scanner; ما الحزمة؟

لاستيراد جميع الكلاسات الموجودة في الحزمة java.util دفعة واحدة، نكتب:

النجمة * تعني جميع كلاسات الحزمة.

أي مما يلي سبب لاستخدام الحزم؟

الخلاصة

انتقل إلى تقييم الدرسأسئلة التقييم، وأكمل الفراغات.ابدأ التقييم ←
أنهيت وحدة «أساسيات البرمجة الشيئية»ثبّت ما تعلّمته بأسئلة مراجعة لمواضيع الوحدة.ابدأ المراجعة ←