حزم الجافا (Java Packages)
صفحة 1 من اصل 1
حزم الجافا (Java Packages)
حزم الجافا
(Java Packages)
ماهي حزم الجافا؟
التعريف: حزم الجافا هي
مجموعة من
الفئات المترابطة، و كل مجموعة من الفئات تنظم تحت حزمة معينة لأجل
تحديد
الهوية. و الحزمة تتكون من:
بعض الأمثلة: الحزمة
Java تحتوي على حزم فرعية منها applet,
io,
alng, net, awt & util و لو أخذنا الحزمة
الفرعية
Java.awt لحصلنا على حزمة فرعية من awt
مثل image و يكون
الامتداد لها
Java.awt.image
لماذا نحتاج حزم الجافا؟
مبرمجي الجافا يعتمدون على
الحزم لتكوين فئات مترابطة داخل هذه الحزم و الأسباب هي:
مسميات
الحزم و الحزم الفرعية و الفئات:
الحزمة تتكون من حزم فرعية و فئات متفرعة، لكن لا نستطيع تسمة الحزمة
أو الحزم
الفرعية أو احدى الفئات باسم واحد. و
مثال
على ذلك: الحزمة
java.awt لديها حزمة فرعية بالاسم image.
لكن لا نستطيع تسمية احدى الفئات بالاسم image، لأن
الاسم محجوز للحزمة الفرعية و العكس صحيح.
كيف
نستطيع انشاء حزم الجافا؟
لنرى مجموعة من الفئات و
التي نستطيع وضعها في حزمة معينة. نفترض اننا كتبنا فئات عن النقاط و
الدائرة و
المستطيل و المربع.
الآن نود أن نضع هذه
الفئات مع بعضها البعض في حزمة لعدة أسباب:
نلاحظ هنا اننا اضفنا
السطر package
geometry
في كل الفئات ( كل فئة توجد في ملف مستقل ). لكن لو
فرضنا
اننا نريد استخدام الفئة Rectangle موجودة
بالحزمة
java.awt مع الفئة الموجود بالحزمة geometry
بنفس البرنامج الذي نريد كتابته، فماذا نفعل ؟
استدعاء فئتين بنفس المسمى: نستطيع ذلك باستخدام fully
qualified name و هو كتابة المسار الكامل
للفئة، مثال
على ذلك:
كيفية
استدعاء فئة معينة من الحزمة الخاصة بها:
تستطيع استدعاء الفئات من الحزم عن طريق ثلاث طرق:
¹ النجمة (*) تدل على
استدعاء الحزم الفرعية و الفئات الموجودة تحت هذه الحزمة.
(Java Packages)
- ماهي حزم الجافا؟
- لماذا نحتاج
حزم
الجافا؟
- كيف نستطيع
انشاء
حزم الجافا؟
ماهي حزم الجافا؟
التعريف: حزم الجافا هي
مجموعة من
الفئات المترابطة، و كل مجموعة من الفئات تنظم تحت حزمة معينة لأجل
تحديد
الهوية. و الحزمة تتكون من:
- حزم
فرعية تحت الحزمة
الأم.
- مجموعة من
الفئات
المتعلقة بالحزمة الأم.
بعض الأمثلة: الحزمة
Java تحتوي على حزم فرعية منها applet,
io,
alng, net, awt & util و لو أخذنا الحزمة
الفرعية
Java.awt لحصلنا على حزمة فرعية من awt
مثل image و يكون
الامتداد لها
Java.awt.image
لماذا نحتاج حزم الجافا؟
مبرمجي الجافا يعتمدون على
الحزم لتكوين فئات مترابطة داخل هذه الحزم و الأسباب هي:
- العثور
على الفئات بشكل
سريع و استخدامها بالبرامج.
- تنحدر الفئات
تحت الحزم
لكي لا تتعارض اسماء الفئات مع بعضها البعض.
- للتحكم بالفئات
بشكل
كامل.
مسميات
الحزم و الحزم الفرعية و الفئات:
الحزمة تتكون من حزم فرعية و فئات متفرعة، لكن لا نستطيع تسمة الحزمة
أو الحزم
الفرعية أو احدى الفئات باسم واحد. و
مثال
على ذلك: الحزمة
java.awt لديها حزمة فرعية بالاسم image.
لكن لا نستطيع تسمية احدى الفئات بالاسم image، لأن
الاسم محجوز للحزمة الفرعية و العكس صحيح.
كيف
نستطيع انشاء حزم الجافا؟
لنرى مجموعة من الفئات و
التي نستطيع وضعها في حزمة معينة. نفترض اننا كتبنا فئات عن النقاط و
الدائرة و
المستطيل و المربع.
public class Point { int_x coord; int_y coord; public Point() { x_coord = 0; y_coord = 0; } public Point(int x, int y) { x_coord = x; y_coord = y; } } | public class Rectangle extends Point { double width; double height; public Rectangle(int x, int y, double w, double h) { super(x, y); width = w; height = h; } } |
public class Circle extends Point { double radius; public Circle(int x, int y, double r) { super(x, y); radius = r; } } | public class Square extends Point { double edge; public Square(int x, int y, double e) { edge = e; } } |
الآن نود أن نضع هذه
الفئات مع بعضها البعض في حزمة لعدة أسباب:
- نستطيع
نحن و المبرمجين
الآخرين أن نجد هذه الفئات لأنها مترابطة.
- نستطيع نحن و
المبرمجين
الآخرين أن نعرف كيف نجد هذه الفئات لأنها دوال رسم مترابطة.
- اسماء الفئات
السابقة
لن تتعارض مع اسماء الفئات من الحزم الاخرى لأنها سوف تكون تحت حزمة
جديدة من
انشائك، مثال على ذلك:
package geometry; public class Point { int_x coord; int_y coord; public Point() { x_coord = 0; y_coord = 0; } public Point(int x, int y) { x_coord = x; y_coord = y; } } | package geometry; public class Rectangle extends Point { double width; double height; public Rectangle(int x, int y, double w, double h) { super(x, y); width = w; height = h; } } |
package geometry; public class Circle extends Point { double radius; public Circle(int x, int y, double r) { super(x, y); radius = r; } } | package geometry; public class Square extends Point { double edge; public Square(int x, int y, double e) { edge = e; } } |
نلاحظ هنا اننا اضفنا
السطر package
geometry
في كل الفئات ( كل فئة توجد في ملف مستقل ). لكن لو
فرضنا
اننا نريد استخدام الفئة Rectangle موجودة
بالحزمة
java.awt مع الفئة الموجود بالحزمة geometry
بنفس البرنامج الذي نريد كتابته، فماذا نفعل ؟
استدعاء فئتين بنفس المسمى: نستطيع ذلك باستخدام fully
qualified name و هو كتابة المسار الكامل
للفئة، مثال
على ذلك:
java.awt.Rectangle rec1 = new java.awt.Rectangle(...); // استخدمنا المسار الكامل للفئة geometry.Rectangle rec2 = new geometry.Rectangle(...); // و هنا ايضاً |
كيفية
استدعاء فئة معينة من الحزمة الخاصة بها:
تستطيع استدعاء الفئات من الحزم عن طريق ثلاث طرق:
- استدعائها
عن طريق
كتابة المسار الكامل ( كما المثال السابق ).
- استدعائها فقط
عن طريق
الحزمة java.awt.Rectangle
- استدعاء الحزمة
كاملة
بما فيها من فئات اخرى java.awt.*;¹.
¹ النجمة (*) تدل على
استدعاء الحزم الفرعية و الفئات الموجودة تحت هذه الحزمة.
Ebisu- مبرمج جيد
- عدد المساهمات : 45
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010
العمر : 43
مواضيع مماثلة
» (6) البرنامج الأوّل بلغة الجافا
» ما الفرق بين Java و JavaScript
» أسئلة و اجوبة عامة لكل مبتدئ في الجافا
» مقدمة على البرمجة بشكل عام لغة الـ Java
» Java (8) الآلة التخيلية للجافا - JVM
» ما الفرق بين Java و JavaScript
» أسئلة و اجوبة عامة لكل مبتدئ في الجافا
» مقدمة على البرمجة بشكل عام لغة الـ Java
» Java (8) الآلة التخيلية للجافا - JVM
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى