في هذا القسم سنعرف الفرق بين الكلاس و الابجيكت و كيفية صنع كل واحد منهما. في البداية سوف نقوم بصنع كلاس للشكل المربع و هو مثال بسيط جداً لتجنب التعقيدات كبداية موفقة. قبل القيام بصنع الكلاس يجب ان نتبع التالي:
1- التسمية الصحيحة للكلاس, حيث ان تعريف الكلاس في الكود يجب ان يكون مطابق لإسمه في الملف المصدري و يكون أول حرف كبير.
2- يجب وضع دالة لها نفس إسم الكلاس وتكون لتعريف قيم المتغيرات في الكلاس نفسة وهي إجبارية في كل الأحوال.
3- يجب القيام بفتح مشروع أو حزمة نقوم بوضع الكلاسات بها قبل البدء بأي شيء.
معلومات عن المربع:
المربع له طول ضلع و من طول الضلع يمكن استخراج المساحة.
المتغيرات : length
الدوال: calculateArea()
خطوات العمل في الJbuilder:
1 – صنع مشروع جديد (Package) وذلك بالضغط على التالي :
File >> New Project
ثم أكتب اسم المشروع (montada01) و اضغط على Finish.
الأن أصبح لك مشروع جديد و يجب وضع الكلاسات فيه. سنقوم بوضع كلاسين بهذا المشروع. الأول للمربع Square و الثاني للتجربة Tester و هو الذي يحوي الدالة الرئيسية main() . لاحظ ان أول حرف للكلاس يجب ان يكون كابتل.
2 – صنع الكلاس Square وذلك بإتباع التالي:
File >> New Class
أعطي الكلاس الاسم Square وحرص انه ضمن المشروع montada01 ثم قم بختيار Public و Generate Default Constructor وألغي الباقي.
سيقوم الخيار الثاني بصنع دالة بأسم Square() وهي تسمى بالبناء أو المقاول حيث ستعطي قيم للمتغيرات كما ذكرنا سابقاً.
أفتح الملف المصدري وستجد التالي:
كود:
package montada01;
public class Square {
public Square() {
}
}
قم بإضافة الأكواد التالي:
كود:
package montada01;
public class Square {
int length;
public Square(int l) {
length = l;
}
public int calculateArea(){
int area;
area = length*length;
return area;
و الان نقوم بشرح الاكواد :
السطر الاول: يوضح ان الكلاس ينتمي للمشروع montada01.
السطر الثاني: يوضح أسم الكلاس و انه عام ( يمكن لأي شخص استخدامه).
السطر الثالث: تعريف المتغير length بأنه عدد صحيح Integer.
السطر الرابع و الخامس: تعريف البناء constructor و له مدخل يحدد طول الضلع. ويستخدم عند انشاء أوبجكت كما ستتعلم لاحقاً. وتقوم دالة البناء بوضع قيمة للمتغير length.
السطر السادس إلى التاسع: برمجة دالة تقوم بإرجاع المساحة وذلك بعملية ضرب الضلع في الضلع. لاحظ اننا عرفنا area داخل الدالة وهذا معناه اننا نستطيع استخدام المتغير داخل الدالة فقط.
وبهذا فقد انجزت أول كلاس ( مبروك ) . و الان , كيف لنا ان نختبر صحة هذا الكلاس ؟ أولاً يجب انشاء كلاس للفحص Tester و نقوم باستخراج اوبجيكتات من الكلاس المراد فحصه.
أتبع الخطوات التالية لصنع كلاس الفحص:
File >> New Class
أعطي الكلاس الاسم Tester و لا تنسى أن يكون تابع للمشروع montada01. ثم أختر Public و Generate main Method. حيث سيقوم الخيار الثاني بإنشاء الدالة الرئيسية. لاحظ انه في المشروع الواحد يجب ان يكون ناك فقط دالة رئيسية واحدة لا غير. إفتح الملف وستجد التالي:
كود:
package montada01;
public class Tester {
public static void main(String[] args) {
}
}
3 - سوف نقوم بالتالي .. سوف نقوم بإنشاء اوبجيكت مربع و من ثم نعرض طول ضلعة و مساحتة على الشاشة. يجب اتباع الاسلوب التالي حرفياً لصنع أوبجيكت من الكلاس Square.
قم بإدخال الكود التالي و سيأتي الشرح بعد ذلك:
كود:
package montada01;
public class Tester {
public static void main(String[] args) {
Square sqr01 = new Square(15);
System.out.println("My Length is "+sqr01.length);
System.out.println("my Area is "+sqr01.calculateArea());
}
}
طبعاً تم شرح أول سطرين ونبدء من الثالث:
السطر الثالث: يأحث دائماً هذا الشكل و لا نقوم بتغير اي شيء به.
السطر الرابع: هذا هو كود انشاء الاولجيكت الجديد . حيث ان Squareهو اسم الكلاس المستخدم و sqr01 هو اسم الاوبجيكت الجديد. new هي كلمة مفتاحية تدل أنك تريد وضع قيم للمربع sqr01 حيث تستخدم الدالة Square(15) ويكون المدخل فيها 15. وبهذا يكون لديك اوبجيكت مربع له اسم sqr01 وطول ضلعه 15.
السطر الخامس : نقوم بطباعة قيمة المتغير length على الشاشة وذلك بأخذها مباشرة من الأوبجيكت. هذه الطريقة غير أمنة ولكن كتمرين سنتابع إلى ان نصل للمستوى المطلوب.
السطر السادس : نقوم بطباعة المساحة على الشاشة وذلك عن طريق الدالة التي ترجع قيمة المساحة ( راجع مصدر الكلاس Square للتأكد).
وبهذا استوفينا جميع الشروط في كيفية انشاء كلاس ثم فحصه عن طريق استخراج اوبجيكت منه وتجربة جميع المتغيرات و الدوال التي به.
تمارين :
1 – قم بإنشاء مربع جديد بأسم sqr02 وعرض قيم المربع الاول ثم المربع الثاني.
2 – قم بإنشاء كلاس جديد بإسم Rectangle و هو المستطيل و ضع له متغيرين width و length و دالة لحساب المساحة ودالة لحساب المحيط..
ومن ثم قم بختباره بنفس كلاس الفحص Tester.
المشروع مرفق