02-19-2010, 07:58 PM
|
|
مبرمج المنتدى الادارة تكليف لا تشريف
|
|
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
|
|
الدرس الرابع عشر : this دورة .net 2008
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .
لتوضيح مفهوم الكلمة المحجوزة this في السي شارب ، سنعود إلى المثال في الدرس السابق مباشرة ، والذي قمنا فيه بعمل Constructor بالشكل التالي :
c#:
كود PHP:
public Person(string userfirstname)
{
FirstName = userfirstname;
}
vb.net:
كود PHP:
Public Sub New(ByVal userfirstname As String)
FirstName = userfirstname
End Sub
لو افترضنا الآن اننا سنقوم بتغيير اسم البارميتر ليكون FirstName بالشكل التالي مثلاً :
C#:
كود PHP:
public Person(string FirstName)
{
FirstName = FirstName;
}
VB.net:
كود PHP:
Public Sub New(ByVal FirstName As String)
FirstName = FirstName
End Sub
في هذه الحالة للاسف سيفهم الكومبايلر انك تجعل FirstName البارميتر يساوي نفسه ، ولن ينظر إلى FirstName كمتغير ضمن الاوبجكت . لتعريف الكومبايلر بإنك تقصد ان المتغير الموجود في الاوبجكت = البارميتر المرسل سنستخدم الكلمة this في C# أو Me في VB.net والتي ستشير إلى المتغير الموجود في الاوبجكت الحالي :
C#:
كود PHP:
public Person(string FirstName)
{
this.FirstName = FirstName;
}
VB.net:
كود PHP:
Public Sub New(ByVal FirstName As String)
Me.FirstName = FirstName
End Sub
حتى في الحالة السابقة التي تطرقنا لها في الدرس السابق ، فإن استخدام this سيكون مناسب دائماً ، ابسط اسباب ذلك هو اظهار قائمة بالعناصر الموجودة في الاوبجكت وقت البرمجة منذ اللحظة التي تكتب فيها this.
توقيع : khaledbelal |
(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}). سورة الأعراف.
|
|