[درس] سلسلة دروس الجافا مع Son of UAE
بسم الله الرحمن الرحيم
مقدمة :
ما هي الجافا ؟ هي لغة برمجة مبنية على السي بلاس بلاس ظهرت سنة 1995 لاول مرة. وهي من انتاج شركة سن مايكروسيستمز المختصة أصلاً بصناعة المعالجات القابلة للبرمجة. تنقسم البرمجة على الجافا إلى نوعين رئيسيين:
1 – التطبيقات / وهي البرامج التي تعمل بشكل طبيعي عند تشغيلها على اي نظام يدعم الجافا.
2 – الأبليت / وهي البرامج الصغيرة التي تعمل بواسطة متصفح الأنترنت.
يحتاج أي نظام تشغل إلى برنامج يقوم بتحويل أكواد الجافا إلى أكواد يفهمها النظام ويعرف بإسم جافا فرتشوال مشين JVM.
للبدء بكتابة أول برنامج للجافا تحتاج إلى برنامج لتحرير الأكواد و كمبايلر. و أنا شخصياً أستخدم برنامج JBuilder x . حيث يكون مصدر البرنامج بصيغة java وبعد التحويل يصبح class.
أمور عليك معرفتها قبل البدء:
1 – برنامج الجافا قد يتكون من عدة كلاسات او واحد.
2 – يجب ان يكون هناك كلاس واحد فقط يحمل الدالة الرئيسية main().
3 – يجب أن يكون إسم الكلاس مماثل لإسم الملف المصدر.
4 – يجب ان يكون عندك خلفية عن اساسيات لغة السي بلاس بلاس.
أول برنامج Hello World:
كود:
public class HelloWorld {
public static void main(string[] args) {
System.out.println("Hello World");
}
}
هذا البرنامج يقوم بطباعة النص "Hello World" على الشاشة في المكان المخصص لذلك في برنامج jBuilder. الشرح كالتالي:
السطر الأول: هي تسمية الكلاس الذي سيحوي الأكواد المطلوبة وهو HelloWorld ولاحظ اهمية الحروف الكبيرة و الصغيرة حيث انها تشكل فروقات كبيرة. كما أن مصدر الملف يجب ان يكون بهذا الإسم ايضاً HelloWorld.java . وسيكون الأمر على هذا الحال لجميع الكلاسات الأخرى.
السطر الثاني: وهي الدالة الرئيسية التي تحدثنا عنها سابقاً.يجب أن توضع لي نجرب الأكواد التي نريد اختبارها.
السطر الثالث: نقوم باستدعاء دالة تساعدنا على كتابة الكود من كلاس أخر وهو System حيث يوجد به دالة println التي استخدمت. وندخل بها النص المراد اظهارة على الشاشة.
أمور أخرى نتعلمها:
الجافا هي لغة برمجة كائنية . بمعني أخر أنك تحتاج إلى كائن لكي تقوم بعمل وضيفة في البرنامج. الكائن هو عبارة عن نسخة من الكلاس فيجب علينا معرفة الكلاس لنتمكن من معرفة طبيعة الكائن. وهذا ما نتعلمه في الدروس القادمة. أما الأن فقد أكتفينا بفهم أساسيات تشغيل برامجنا المكتوبة بالجافا.
ملاحظات:
-الدروس القادمة تعتمد على رغبات الأعضاء و أنا أفضل التحدث عن المتغيرات ( الخصائص ) وأنواعها.
-لو أراد شخص نقل الموضوع فلا مانع على شرط وضع أسمي عليه و الرابط لهذه الصفحة.
-لتفاصيل أكثر عن الجافا و بعض المصادر إدخل هنا
http://www.montada.com/showthread.php?t=471061
رد: [درس] سلسلة دروس الجافا مع Son of UAE
:) مشكور على الجهد
بس عندي سؤال !؟ الجافا التي شرحتها هي
نفسها المستخدمة في تصميم برامج الشات (chat)!؟ وألعاب الاونلاين runscape ?
رد: [درس] سلسلة دروس الجافا مع Son of UAE
الجافا هي الجافا .. للألعاب الأونلاين و للشات و للبرامج وللمبايلات. يعني لغة بها مكتبة متكاملة . ادخل موضوع أحمد صقر للمزيد من التفاصيل.
رد: [درس] سلسلة دروس الجافا مع Son of UAE
الله الله ماشاء الله عليك جميل جداً مشكور و الله
انا فى اعتقادى انه قبل ان تبدأ بشر المتغيرات قم بشرح التعبيرات و المؤثارت ................
حتى تصبح سلسة الدروس متكاملة
رد: [درس] سلسلة دروس الجافا مع Son of UAE
مشكووووووووووور اخوي وانتظر الشروح على احر من الجمر
رد: [درس] سلسلة دروس الجافا مع Son of UAE
مشكووووووووووووووووور :)
و على فكرة شباب لعبة Rune Scape اللي الملايين يلعبونها على الإنترنت لعبة مبرمجة بالجافا ;)
رد: [درس] سلسلة دروس الجافا مع Son of UAE
شكراً على الدرس الرائع أنا بحكي تثبت هذا الموضوع للفائدة
وكل الأعضاء
لا يمانعون
رد: [درس] سلسلة دروس الجافا مع Son of UAE
اقتباس:
شكراً على الدرس الرائع أنا بحكي تثبت هذا الموضوع للفائدة
وكل الأعضاء
لا يمانعون
أقترح انه بعد ما ينتهى من الموضوع يضع فهرس له ويثبتة
رد: [درس] سلسلة دروس الجافا مع Son of UAE
الله يوفقك son of uae و انشاء الله ما نتعبك بأسلئتنا :)
2 مرفق
رد: [درس] سلسلة دروس الجافا مع Son of UAE
في هذا القسم سنعرف الفرق بين الكلاس و الابجيكت و كيفية صنع كل واحد منهما. في البداية سوف نقوم بصنع كلاس للشكل المربع و هو مثال بسيط جداً لتجنب التعقيدات كبداية موفقة. قبل القيام بصنع الكلاس يجب ان نتبع التالي:
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 للتأكد).
وبهذا استوفينا جميع الشروط في كيفية انشاء كلاس ثم فحصه عن طريق استخراج اوبجيكت منه وتجربة جميع المتغيرات و الدوال التي به.:biggthump
تمارين :
1 – قم بإنشاء مربع جديد بأسم sqr02 وعرض قيم المربع الاول ثم المربع الثاني.
2 – قم بإنشاء كلاس جديد بإسم Rectangle و هو المستطيل و ضع له متغيرين width و length و دالة لحساب المساحة ودالة لحساب المحيط..
ومن ثم قم بختباره بنفس كلاس الفحص Tester.
المشروع مرفق

رد: [درس] سلسلة دروس الجافا مع Son of UAE
كفيت و وفيت أخى
إضافة بسيطة------>
الفرق بين public , private
public عند تعريف الفصيلة أو الدالة بها فهذا معناه انها متاحة للإستخدام والتغير اثناء عمل البرنامج أو حتى خارج الفصيلة
private عند تعريف الفصيلة أو الدالة بها فهذا معناه بأنها مقصورة الإستخدام على هذة الفصيلة ولا يمكن تعديلها خارج الفصيلة
:D
رد: [درس] سلسلة دروس الجافا مع Son of UAE
لا تسبق الأحداث ... :speechless: .. انا ناوي احط الدروس التالية ان شاء الله . على حسب التفاعل طبعاً.
- المصفوفات: Array + Vector
- الوراثة Inheritence: أهم درس في السلسلة.
- مستويات الصلاحية : public + private + protected
- Overriding + overloading: خاص بالدوال methods
- معالجة الأخطاء Exception handler : تفادي الأخطاء بالبرنامج.
- الأبليت Applet: صنع برنامج يعمل في متصفح الانتر نت.
- واجة المستخدم Gui: ازرار ومساحات للكتابة إلى أخره.
- Polymorphism: تابع للوراثة وهو من أهم خصائص البرمجة الكائنية.
اريد أعرف من هم المستفيدين من هذه الدروس قبل الإستمرار بها. وللعلم . ستكون الدروس كلها بحته و لا تتعلق ببرمجة الألعاب و لكن ستكون الركيزة التي سنبدء بها. :biggthump
كم واحد يملك الJbuilder او ناوي يستفيد بعدين ؟
رد: [درس] سلسلة دروس الجافا مع Son of UAE
اقتباس:
اريد أعرف من هم المستفيدين من هذه الدروس قبل الإستمرار بها. وللعلم . ستكون الدروس كلها بحته و لا تتعلق ببرمجة الألعاب و لكن ستكون الركيزة التي سنبدء بها. :biggthump
كم واحد يملك الJbuilder او ناوي يستفيد بعدين ؟
سؤال فى القلب
ليس المهم من يتابعوك الآن فم المؤكد ان بعض الناس فى المستقبل سيستفيدون من الدروس و على العموم أعتبرنى معهم
فهى فرصة للمراجعة:D
رد: [درس] سلسلة دروس الجافا مع Son of UAE
:bigeyes: أعتقد اسمها Polymorphizen
كما ان Overriding + overloading تابعين لها
رد: [درس] سلسلة دروس الجافا مع Son of UAE
Polymorphism === بريطاني
Polymorphizen === امريكي
Overriding + overloading === ليس لهم علاقة بالبوليمرفزم :أفكر: