أهلا وسهلا بك زائرنا الكريم في منتدى دعم PBBoard الرسمي، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .

دورة OOP خاص بالمنتدى !

بسم الله الرحمن الرحيم على بركة الله نبدأ ... مقدمة : بعد غياب طويل ...عدت اليكم وفي جعبتي الكثير لأفيدكم به بإذن الله . سنبدأ بهذه ال



05-09-2010 01:06 مساءً
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
بسم الله الرحمن الرحيم



على بركة الله نبدأ ...

مقدمة :

بعد غياب طويل ...عدت اليكم وفي جعبتي الكثير لأفيدكم به بإذن الله . سنبدأ بهذه الدورة البسيطة التي تتحدث

عن مفهوم يسود حاليا في لغة
PHP 5


ألا وهو
OOP


سنتحدث عنه من البداية حتى الإتقان إن شاء الله ..

لقد اخترت
OOP
كون برنامج
POWERPP


يعمل على هذا النظام بنسبة كبيرة ... وبذلك نكون قد

ضربنا عصفورين بحجر واحد , تعلمنا
PHP 5


ومايتبعها من
OOP


وتعلمنا جزءا كبيرا من
POWER

-
برنامجنا العربي –

هذه الدورة غير منقولة أنا كتبتها وتعبت عليها لذا يرجى من الجميع عند النقل ذكر المصدر ...

نبدأ الدورة على بركة الله ...


ماهو مفهوم
OOP ?



قامت
PHP5


على مايسمى البرمجة الكائنية الموجهّة
OOP


التي لم تكن مستخدمة بشكل كبير في الأصدار

السابق من
PHP


...

OOP


هي البرمجة باستخدام الكائنات

لكن ماهي الكائنات ؟

الكائن هو كل مايحيط بنا هو نحن أنفسنا ..اذا نحن نعرف الكومبيوتر بأن هناك كائن ..شيئ ما ...قد يكون أي شي

هذا هو المفهوم النظري أما المفهموم الذي سنكتب به فهو

CODE
Class PowerPP{}


اذا هذا هو مايسمى بالكائن لكتابته تكتب أولا كلمة
Class


ثم تكتب الكلمة التي تريد شريطة أن تكون باللغة

الانكليزية ويفضل أن تبدأ بحرف كبير لاحظ معي كلمة
PowerPP


ثم نفتح قوس


{


لاحظ معي أنني لم

أضع بين القوسين


{}
شيئا أبدا .. وبهذه الحالة لا يسمى كائنا ...

ماهي سمات الكائن ؟

الأن حضرتك لما بتمشي بالطريق بتشوف "الصبايا " الحلوات على طرفي الشارع عم يمشوا كيف تقيم

جمالهن ؟؟؟ مثلا تقول هذه سمراء وهذا شقراء هذه عيونها عسلية وهذه عيونها زرقاء ... وفجأة تكتشف

أن هناك فتاة جميلة جدا جدا تعجبك بشدة لكن تلاحظ أن هناك خطأ في سيرها (معها تشوه خلقي برجلها )

مثلا ..فتلاحظ أن هذه الفتاة تسقط من عينك فورا ولا تلبث أن تدير نظرك عنها ...

لنشبه الكائن بهذه الفتاة ... هذه الفتاة لها خصائص (لون الشعر , لون العينين , شكل الوجه ) هذه الأساليب

تعمل معا لانجاز وظائف أو مايسمى الأساليب ( المشي و النظر و لفت النظر هههههه) وغيرها

كذلك الكائن له خصائص وأساليب ...

ماهي الخصائص ؟؟؟

كما قلنا هي الصفات أو بلغة البرمجة هي المتغيرات التي تبدأ دائما بعلامة


$

مثلا لنكتب كائن فيه خصائص (لون الشعرو لون العيون و شكل الرأس ) ولنسمية
Girl
CODE
 

Class Girl 
{ 
Var $haircolor; 
Var $eyescolor; 
Var $headshape; 
}


لاحظ كيف كتبنا خاصية لون الشعر وضعنا
Var


قبلها ثم علامة $ ثم كتبنا بالانجليزية طبعا
haircolor

انتهى الدرس الأول ....

يتبع
تم تحرير الموضوع بواسطة :Dr.ZoCo بتاريخ:05-09-2010 01:08 مساءً

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 03:04 مساءً   [1]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
الأن سنتحدث عن الأساليب

ماهي الأساليب ؟

هي الوظائف التي سيقوم صاحبنا الكائن بتنفيذها ... تذكر المثال السابق (النظرو المشي ) هي وظائف الكائن المسمى (انسان )

كيف نكتب الأساليب ؟

نكتبها بالدوال ! أي نكتب دالة Function ضمن الكائن أو الكلاس فيقوم الكلاس تلقائيا بتنفيذ هذه الدوال

مثال :
CODE

 
Class Girl {
//لاحظ هذه هي الخصائص
Var $haircolor; 
Var $eyescolor; 
Var $headshape; 
 
 
// هذه هي الأساليب أو الوظائف
  function Look ()
{
echo "الفتاة تستطيع النظر";
}
}


لاحظ في المثال السابق عرفنا أسلوبا بطريقة الدالة فكتبنا function ثم بعدها اسم الوظيفة وهي النظر

مثلا . الأن أصبح لدينا كائن كامل له صفات وله اسلوب وهو النظر

ملاحظة : الدالة المستخدمة داخل الكائن دالة بسيطة تستطيع وضع دالة أشد تعقيد بكثير بحسب حاجتك

في الدرس القادم سنتعلم استخدام الكائن باذن الله ....

cool

يتبع

اعذروني اذا تأخرت عليكم سرعت النت عندي 30 كيلو بالثانية laugh

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 03:35 مساءً   [2]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
عدنا إليكم ...

الجزء الثالث من الدورة :

لديك الأن الكائن السابق اسمه Girl أنت سابقا لم تقم بإنشاء كائن أنت قمت بتعريف كائن

الأن كيف سأقوم بإنشاء الكائن أو كيف سأستخدم هذا الكائن ؟

إنك لو طلبت صفحة الكائن السابق على المستعرض ستجد أنه لن يتم تنفيذ أي أمر blink

لكن لماذا ؟؟؟ لأنه بالحالة الطبيعية الكائن في حالة سكون لا يتم استخدامه إلا اذا تم تشغيله

حسنا اذا كيف تقوم بتشغيل الكائن ؟ بسيطة تكتب مايلي :
CODE

 
$Mariam = new Girl;


هذا يسمى مفتاح التشغيل لاحظ عرفت متغير اسمه Mariam ( يحق لك استخدام أي كلمة حسبما تريد )

ثم وضعت علامة = وهي علامة أن هذا المتغير مريم سيأخذ قيمة هي ...

ثم كتبت كلمة new وهي الكلمة الرئيسة في هذه العبارة وتعني (شغّل الكائن ) ثم وضعت بعدها

اسم الكائن Girl الذي عرفناه سابقا ..

وبذلك نكون شغلنا الكائن Girl وأصبح بامكانك استخدام الدوال و المتغيرات الموجودة فيه wink_3

طيب اذا تذكر أنا وضعت ضمن الكائن السابق دالة اسمها Look ..كيف سأستخدمها هنا

بعد أن تكون قد شغلت الكائن كما سابقا ..

نكتب

CODE

$Mariam->Look();


طول بالك سأشرحه لك ...

تذكر أننا عرفنا المتغير $Mariam على أنه مفتاح تشغيل الكائن ! جميل جدا

اذا حتى أستخدم دوال موجودة ضمن الكائن يكفي أضع متغير التشغيل الذي هو عندنا ($Mariam )

ثم أضع -> ثم اسم الدالة وهي Look ثم قوسين () ثم ;

وبذلك اذا استعرضت الكائن السابق مع مفتاح تشغيله مع تنفيذ الدالة سيطبع على المتصفح فورا
اقتبـاس ،،

الفتاة تستطيع النظر
biggrin2

يتبع ...

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 03:37 مساءً   [3]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
إليك الكود كاملا جربه عندك :
CODE

<?
Class Girl {
Var $haircolor;
Var $eyescolor;
Var $headshape;
  function Look ()
{
echo "الفتاة تستطيع النظر";
}
}
$Mariam = new Girl;
$Mariam->Look();
?>


أي سؤال أنا جاهز cool


تم تحرير المشاركة بواسطة :Dr.ZoCo بتاريخ:05-09-2010 03:46 مساءً


look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 04:41 مساءً   [4]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
الله يسامحكم ... ولا رد !blushing

طيب تقييم بس biggrin2

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 05:05 مساءً   [5]
معلومات الكاتب ▼
انضم في : 05-09-2010
رقم العضوية : 667
المشاركات : 753
الدولة : ســــــــــــــــوريا وبكل اعتزاز
الجنس :
تاريخ الميلاد : 1-7-1985
الدعوات : 2
قوة السمعة : 2,024
ما شاء الله أخي كلام جميل والله

شكراً جزيلاً
بس كان أحسن لو أعطيت النتيجة يلي رح تظهر على المتصفح


وشكراً لك


تقبل مروري



Mr.php

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 05:07 مساءً   [6]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
شكرا للمرور ..

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 07:45 مساءً   [7]
معلومات الكاتب ▼
انضم في : 20-07-2009
رقم العضوية : 18
المشاركات : 2,796
الجنس :
تاريخ الميلاد : 1-10-1981
الدعوات : 30
قوة السمعة : 4,978
موقعي : زيارة موقعي
بارك الله لك اخى الكريم و جزاك كل خير لهذا الشرح الرائع
اكمل و نحن متابعون ان شاء الله

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 08:48 مساءً   [8]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
شكرا أحمد ع المرور ...

رح نتابع باذن الله ..ادعولنا smile

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 09:23 مساءً   [9]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
الجزء الرابع من هذه الدورة
تعلمنا حتى الأن :
ماهو الكائن وماهي أهميته و ماهي أركانه وكيف نكتبه !
ماهي الخصائص و الأساليب
كيف نعرّف الكائن أو كيف نشغل الكائن

الأن سنتعلم عن الجزء this وهي دالة معرفة تكتب بالشكل $this
ماهي وظيفة this ??
وظيفة الدالة this هي أنها توضع ضمن الكائن لتنفيذ أمر موجود ضمن الكائن نفسه مثال :
CODE
 
<? 
function Ahmad() 
{ 
echo " أنا اسمي أحمد"; 
} 

Class Power{ 
function Ahmad() 
{ 
echo " أنا اسمي مالك"; 
} 
function DoAhmad() 
{ 
Ahmad(); 
} 
} 
$Power = new Power; 
$Power->DoAhmad(); 
?>


في المثال السابق لدينا دالتين كلاهما لهما الاسم Ahmad احداهما خارج الكائن وهي العبارة القائلة
(أنا اسمي أحمد ) والأخرى داخل الكائن واسمها (انا اسمي مالك )
طيب يوجد ضمن الكلاس أو الكائن دالة أخرى وهي DoAhmad وظيفتها هي طبع الدالة Ahmad
blink blink blink وهنا يأتي السؤال ؟؟؟ أي دالة Ahmad ستقوم بطبعها ؟؟ الدالة الواقعة ضمن الكلاس
أما التي تقع خارجه ؟؟؟
الجواب : ستقوم بطباعة الدالة التي تقع خارج الكلاس أي سيظهر على المتصفح (أنا اسمي أحمد )
ذلك لأننا كتبنا الدالة بهذا الشكل ضمن DoAhmad كتبنا :
Ahmad();
لذا تلقائيا سيتم تنفيذ الدالة الخارجية
طيب واذا اردت طباعة الدالة الموجودة داخل الكلاس ؟؟
خذ هذا المثال وقارن بينه وبين السابق :
CODE
 
<? 
function Ahmad() 
{ 
echo " أنا اسمي أحمد "; 
} 

Class Power{ 
function Ahmad() 
{ 
echo " أنا اسمي مالك "; 
} 
function DoAhmad() 
{ 
$this->Ahmad(); 
} 
} 
$Power = new Power; 
$Power->DoAhmad(); 
?>


ستلاحظ الأن بأنه سيظهر على المتصفح (أنا اسمي مالك blink ) لماذا ؟؟
لأنني استخدمت $This ضمن الدالة DoAhmad فكتبت ضمنها :
CODE
$this->Ahmad(); 

اذا بالتلخيص :
this وضيفتها تنفيذ دالة موجودة الكائن ....

أي سؤال أنا جاهز cool

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  06-09-2010 02:46 صباحاً   [10]
معلومات الكاتب ▼
انضم في : 23-07-2010
رقم العضوية : 599
المشاركات : 3,734
الدولة : أمي اليمن
الجنس :
تاريخ الميلاد : 4-3-1987
الدعوات : 1
قوة السمعة : 8,237
موقعي : زيارة موقعي
العضو غائب بلاكهرباء حتى اشعار آخر ,والمعذرة على الغياب المتكررلأسباب وظروف ولله الحمد , دعواتكم لبلادي وبلاد المسلمين ..
بارك الله فيك

هذا ماكنت اتمنى زيادة معلوماتي فيه yes

تابع والى الامام

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  06-09-2010 02:48 صباحاً   [11]
معلومات الكاتب ▼
انضم في : 07-08-2010
رقم العضوية : 629
المشاركات : 38
الجنس :
الدعوات : 2
قوة السمعة : 150
موضوع جميل عمله يشبه css

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  06-09-2010 12:30 مساءً   [12]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
شكرا لمرور الجميع ..سنتابع باذن الله

تحياتي

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  06-09-2010 12:39 مساءً   [13]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
سنتعرف لاحقا على مصفوفات .. وطرق كتابتها !

تحياتي

look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  06-09-2010 12:57 مساءً   [14]
معلومات الكاتب ▼
انضم في : 02-08-2009
رقم العضوية : 78
المشاركات : 245
الدولة : الجمهورية العربية السورية
الجنس :
تاريخ الميلاد : 2-12-1990
قوة السمعة : 678
الجزء الخامس المصفوفات ..

ماهي المصفوفة ؟
اذا أتينا لعلم الرياضيات المصفوفة هي مجموعة من الأرقام أو الأحرف او الأشياء موضوعة ضمن

قوسين وللعلم تجري عليها عمليات ضرب و اختزال وغيرها ...

شيلنا من الرياضيات ... خلينا بالبرمجة rolleyes

أنت عندما تكتب متغيرا ما - أي متغير - تكتب $Ahmad مثلا وللأسف هنا لا يقدم لك المتغير

سوى صفة واحدة أو أمر واحد لكن اذا أرت جعل المتغير Ahmad يأخذ أكثر من صفة أو أمر

ماذا أفعل ؟؟ g

هنا يأتي دور المصفوفة ...فالمصفوفة تعريفا هي مجموعة المتغيرات المرتبطة بكائن التي تنفذ أمرا

أو أكثر فمثلا كنت أكتب في المتغير Ahmad بأن بون عينيه بني ..sad لكن هذا لن يكفي لأخذ

كل صفاته ..فالحل هو أنه يمكنني كتابة عدد كبير من صفات المتغير داخل مصفوفة انظر المثال :

CODE
$Ahmad = "eye color is brown"; 


هنا أعطيت قيمة وحيدة للمتغير ...طيب اذا اردت اعطاء أكثر من قيمة سأستعين بالمصفوفة لاحظ

كتابة الشكل البسيط للمصفوفة
CODE
 

$Ahmad = array ("eye color is brown","hair color black","tall is 180 cm");


لاحظ ماذا فعلنا ..
كتبنا المتغير Ahmad ثم = ثم وضعنا أخطر كلمة عالاطلاق وهي تدلنا و تدل الجهاز أن التالي هو

مصفوفة وهي كلمة array smile ثم فتحنا قوس علامة تنصيص دليل على أن ماسنكتبه نص و ليس

قيمة أو متغير ثم أغلقنا علامة التنصيص ووضعنا فاصلة تفصل بين عنصر المصفوفة الأول والعنصر

الثاني ثم أخيرا أغلقنا القوس

بهذا الشكل نحن عرفنا المتغير Ahmad على أنه يحمل أكثر من صفة - ثلاث صفات- وذلك عن طريق

المصفوفة

طيب اذا أردنا طبع عناصر المصفوفة أو استدعاء عنصر منها كيف ؟؟؟
لا حظ كيف :
CODE
echo $Ahmad[0];

اذا كتبت الكود السابق سيطبع لك فورا eye color is brown blink
لكي تطبع أي عنصر من عناصر المصفوفة تضع اسم المفصوفة $Ahmad ثم بين قوسين [] رقم
الأمر داخل المصفوفة علما أن أول ماتبدأ به دائما هو الرقم صفر طيب مثال :
CODE
echo $Ahmad[1];

اذا كتبت هذا الأمر ...سيطبع لك hair color black لأنك وضعت بين قوسين الرقم 1 أي العصنر
الثاني من المصفوفة

تحياتي
يتبع


تم تحرير المشاركة بواسطة :Dr.ZoCo بتاريخ:06-09-2010 01:04 مساءً


رد جديد موضوع جديد
الصفحة 2 من 3 < 1 2 3 > الأخيرة




المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
مشكلة في خرائط XML الخاصة بالمنتدى ! unfogiven19
3 792 Soliman
[مجابه] مشكلة بالمنتدى .. ! Mr.MoKsHa
6 1332 Soliman
مشغل القراّن بصفحه بالمنتدى ! ashraf
6 1119 ashraf

الكلمات الدلالية
لا يوجد كلمات دلالية ..









الساعة الآن 08:22 AM