دروس في البرمجة الكائنية لجميع اللغات الكائنية
دروس في البرمجة الكائنية لجميع اللغات الكائنية
دروس في البرمجة الكائنية
OOP لجميع اللغات الكائنية
بسم الله الرحمن الرحيم
مقدمة
,,,, ( Object-Oriented Programming (OOP ,,,
لغة تلتزم بقواعد البرمجة بواسطة الأهداف حيث وفرت كثير من الجهد الذي كان
يبذل باستخدام البرمجة التقليدية ، حيث كانت البرمجة التقليدية توفر
للمبرمج مكتبة من الدوال إضافة إلى تركيب تقليدي للبرنامج وعلى المبرمج أن
يستعمل الدوال مع تركيب البرنامج لإنشاء التطبيقات مما يضطره لكتابة
السطور الكثيرة أكثر من مرة ؛ لقد كانت وحدة بناء البرنامج هي الدالة ..
في حين أتت البرمجة بواسطة الأهداف بفكرة جديدة هي إنشاء عناصر متكاملة
تحتوي على بيانات ودوال هي أساس إنشاء البرنامج .. وبالتالي أصبحت وحدة
بناء البرنامج وحدة كبيرة هي الفصيلة أو العنصر Object مما سهل واختصر الكثير .
شرح لبعض المصطلحات في OOP التي سيكثر الحديث عنها وهي ,,
- الكلاس وهي عبارة عن البرنامج ككل او الوصف الرئيسي الذي تنحدر منه objects
- كل Object يتبع الى كلاس معينة
- Object عبارة عن شئ له صفات واساليب معينة خاصة به
- Attribute الصفات للكلاس وكمان ال object
- Methods الاساليب المستخدمة في الكلاس
وبشكل عام يتكون الكلاس من ثلاث اجزاء وهي :
expand |
plain text
modifier className
{
//attribute
//Construtor
modifier className()
{
}
//methods
}
1. المشيد او Constructor :
من المهم في OOP ان يكون في كل كلاس على الاقل اسلوب حتى نقوم بانتاج
object لهذه الكلاس ولاساليب التي تقوم بعملية انتاج الابجكت للكلاس يسمى
المشيد او Constructor واسمه لازم يكون نفس اسم الكلاس وهو (حتى نستطيع
استخدامه عند فحص الكلاس واستخدام الاساليب او الصفات الموجودة في الكلاس)
وفي كل كلاس في الجافا حتى وان لم يضعه الشخص فانها تحتوي على Constructor
داخلي او ما يسمى ب Standard-Constructor اسم الكلاس و ()
2.الصفات . صفات الكلاس
3. الاساليب .
الصفات تكون على هذا الشكل او تعرف على هذا الشكل
expand |
plain text
modifier type atributte;
type :
- int
- double
- float
- char
- String
- public
: يمكن استخدام الاسلوب او الصفة المعرفة في public اينما يريد الشخص حتى
في كلاس ثاني والكلاس المعرفة ببليك يستطيع استخدامها الشخص اينما يريد
لذلك بكون دائما كبداية البرنامج public classname - private : الاساليب والصفات تستخدم فقط في الكلاس المعرفة فيها ويستحب دائما استخدامها
- protected : الاساليب والصفات يتم استخدامها في الكلاس وكمان الكلاسات المشتقة من الكلاس الاصلي
- static
: الاساليب والصفات المعرفة بها تستخدم ايضا اينما يريد الشخص وتسمى وتسمى
الصفة او المتغير المعرف بstatic ...classvariable
ويسمى الاسلوب المعرف بstatic ...classmethod - final : الصفة والاساليب المعرفة ب final لا يجوز تغييرها يعني ثابت في البرنامج كله
والاساليب تكون على هذا الشكل
expand |
plain text
modifier Type MethodName()
}
return Type;
{
expand |
plain text
modifier void MethodName()
}
{
اسلوب مع void يجب ان لا يوجد return
اسلوب بدون void يجب يوجد return
وعندما يكون الاسلوب مع return لازم يكون التعريف للاسلوب نفس القيمة مع return مثل
expand |
plain text
public String getName()
{
return name;
}
________________________________
المصدر
http://www.arabteam2000-forum.com/index.php?showtopic=49569
وليد- الجنس :
عدد المساهمات : 28
النقاط : 49914
التقييم : 5
تاريخ التسجيل : 2011-04-06
Re: دروس في البرمجة الكائنية لجميع اللغات الكائنية
واليكم هذا المثال مثلا لدينا طالب وصفاته ونريد تطبيق مثال عليه بحيث نجمع بين ذلك في كلاس معين كتطبيق للدرس السابق
expand |
plain text
public class Student
{
//الصفات
//Attribute
String name; //*
private String adress;
final int age;
/*
نضع الصفات جميعها هنا مثل ما نريد
*/
// Constructor المشيد
Student(String name/*here*/, String adress,int age)
{
/*this
نعني بها ان المقصود بها هو الصفة العامة للكلاس وليس الصفة في المشيد يعني بالعربي
this.name هي *
name هي here
وهكذا مع بقية الصفات
وممن الممكن وضع متغيرات اخرى ف المشيد حتى ما يحدث لخبطة عن الشخص مثل
Student(String n, String a, int g){name=n;a=adress;age=a;}
*/
this.name =name;
this.adress =adress;
this.age =age
}
/*
*/
// Methods الاساليب
public String getName()
{
return name;
}
public void PrintAdress()
{
System.out.println("The Adress :"+adress);
}
public int getAge()
{
return age;
}
/*
ونضيف من الاساليب هنا ما نريد
*/
}
________________________________________
_______
expand |
plain text
public class Student
{
//الصفات
//Attribute
String name; //*
private String adress;
final int age;
/*
نضع الصفات جميعها هنا مثل ما نريد
*/
// Constructor المشيد
Student(String name/*here*/, String adress,int age)
{
/*this
نعني بها ان المقصود بها هو الصفة العامة للكلاس وليس الصفة في المشيد يعني بالعربي
this.name هي *
name هي here
وهكذا مع بقية الصفات
وممن الممكن وضع متغيرات اخرى ف المشيد حتى ما يحدث لخبطة عن الشخص مثل
Student(String n, String a, int g){name=n;a=adress;age=a;}
*/
this.name =name;
this.adress =adress;
this.age =age
}
/*
*/
// Methods الاساليب
public String getName()
{
return name;
}
public void PrintAdress()
{
System.out.println("The Adress :"+adress);
}
public int getAge()
{
return age;
}
/*
ونضيف من الاساليب هنا ما نريد
*/
}
________________________________________
_______
وليد- الجنس :
عدد المساهمات : 28
النقاط : 49914
التقييم : 5
تاريخ التسجيل : 2011-04-06
Similar topics
» لغات البرمجة اساس الاحتراف
» البرمجة كائنيه التوجيه في الإصدار php5
» ركن لغات البرمجة Programming languages
» تعلم البرمجة بلغة الجافا
» قوقل تصدر أداة لاختبار توافق التطبيق مع اللغات المكتوبة من اليمين إلى اليسار
» البرمجة كائنيه التوجيه في الإصدار php5
» ركن لغات البرمجة Programming languages
» تعلم البرمجة بلغة الجافا
» قوقل تصدر أداة لاختبار توافق التطبيق مع اللغات المكتوبة من اليمين إلى اليسار
Permissions in this forum:
You cannot reply to topics in this forum