العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

إضافة رد

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 02-19-2010, 08:11 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس السادس عشر : ال OverLoading دورة .net 2008

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

من اهم مبادئ ال OOP هي تطبيق مبدئ ال Overloading ، حيث يمكن تسمية عدة طرق او دوال بنفس الاسم ما دام هناك تغيير في البارميترس .

ابسط مثال على عمليات ال Overloading هي دالة MessageBox.Show() في ال Windows Forms .
لو جربت ستجد هذه الأوامر مثلاً :
كود PHP:
MessageBox.Show(string text);
MessageBox.Show(string text,string caption);
MessageBox.Show(string textstring captionMessageBoxButtons buttons); 
وغيرها ايضاً ضمن 7 اوامر ، كل واحدة منها عبارة عن دالة خاصة ولهم جميعاً نفس الاسم ، لنتصور لو لم يكن مبدأ Overloading موجوداً ، كنا سنضطر لكتابة دوال بالشكل التالي :

كود PHP:
ShowWithString
ShowStringAndCaption
ShowStringAndCaptionAndButtons 
أما الآن ولتسهيل الاستخدام تجدهم جميعاً بنفس الاسم ، وهذا ما يسبب سهولة الاستخدام .

لتطبيق مبدأ ال OverLoading في دوالك يمكنك كتابة كود بالشكل التالي - لعملية الجمع مثلاً في حين انك لا تدري هل يمرر لك في الكلاس قيم من نوع int او من نوع double - :

C#:
كود PHP:
static int Add(int xint y)
{ return 
y; }
static 
double Add(double xdouble y)
{ return 
y; }
static 
long Add(long xlong y)
{ return 
y; } 
vb.net:
كود PHP:
Private Shared Function Add(ByVal x As IntegerByVal y As Integer) As Integer 
    
Return 
End 
Function 
Private 
Shared Function Add(ByVal x As DoubleByVal y As Double) As Double 
    
Return 
End 
Function 
Private 
Shared Function Add(ByVal x As LongByVal y As Long) As Long 
    
Return 
End 
Function 
يمكن ان نعيد الكرة مرة أخرى مع ال Constructor ، فيمكنك عمل عدد منها حسب احتياج المستخدم ، لو عدنا لمثالنا Person يمكن تعريف ال Constructors بالشكل التالي :

c#:
كود PHP:
class Person
{
public 
string FirstName;
public 
string LastName;
public 
int Age;
 
public 
Person()
{
Console.WriteLine("c1");
}
public 
Person(string fname,string lname)
{
FirstName fname;
LastName lname;
Console.WriteLine("c2");
}
public 
Person(string fname,string lname,int myage)
{
FirstName fname;
LastName lname;
Age myage;
Console.WriteLine("c3");
}

VB.net:
كود PHP:
Class Person 
    
    
    
Public FirstName As String 
    
    
Public LastName As String 
    
    
Public Age As Integer 
    
    
    
    
Public Sub New() 
        
        
            
        
Console.WriteLine("c1"
    
End Sub 
    
    
Public Sub New(ByVal fname As StringByVal lname As String
        
        
        
FirstName fname 
        
        LastName 
lname 
        
            
        Console
.WriteLine("c2"
    
End Sub 
    
    
Public Sub New(ByVal fname As StringByVal lname As StringByVal myage As Integer
        
        
        
FirstName fname 
        
        LastName 
lname 
        
        Age 
myage 
        
            
        Console
.WriteLine("c3"
    
End Sub 
    
End 
Class 

وبهذه الطريقة يمكننا انشاء كائنات بأحد الطرق التالية :

C#:
كود PHP:
Person MyEmpolyee = new Person();
Person MyEmpolyee = new Person("ahmed","gamal");
Person MyEmpolyee = new Person("ahmed""gamal",22); 
VB.net:
كود PHP:
Dim MyEmpolyee As New Person() 
Dim MyEmpolyee As New Person("ahmed""gamal"
Dim MyEmpolyee As New Person("ahmed""gamal"22


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
  #2  
قديم 03-02-2011, 03:43 PM
الصورة الرمزية ماريا إسلام
ماريا إسلام ماريا إسلام غير متواجد حالياً

عضو متألق

 
تاريخ التسجيل: Oct 2010
العمر: 35
المشاركات: 268
افتراضي

وعليكم السلام ورحمة الله وبركااته
،،،
جزااكم الله خيراا كثيراا ،

//


توقيع : ماريا إسلام

ربي هذا العهد لك ... عزم القلب الوفا

تستطيع أن ترى الصورة بحجمها الطبيعي بعد الضغط عليها

تستطيع أن ترى الصورة بحجمها الطبيعي بعد الضغط عليها

صفحتي على الفيسبوك!

رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس الخامس عشر : التعرف على Static دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-19-2010 08:05 PM
الدرس الرابع عشر : this دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-19-2010 07:58 PM
الدرس الثاني عشر : ال Nullable Types دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-18-2010 08:07 PM
الدرس التاسع : ال Enumeration دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-18-2010 04:27 PM
الدرس السادس : الجمل الشرطية وحلقات التكرار .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-17-2010 11:59 AM

استضافة الحياة

الساعة الآن 11:19 PM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz