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

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


مشاهدة المشاركة في الموضوع بالعرض العادي
look/images/icons/i1.gif دورة OOP خاص بالمنتدى !
  05-09-2010 09:23 مساءً  
abu_Rabih
معلومات الكاتب
الجزء الرابع من هذه الدورة
تعلمنا حتى الأن :
ماهو الكائن وماهي أهميته و ماهي أركانه وكيف نكتبه !
ماهي الخصائص و الأساليب
كيف نعرّف الكائن أو كيف نشغل الكائن

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

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


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

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


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

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

أي سؤال أنا جاهز دورة OOP خاص بالمنتدى !


الساعة الآن 09:00 AM