تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس العاشر : التراكيب :) Structure
#2
منقول من المنتدى القديم
كاتب المقال احمد جمال المشرف العام
انشاء الدوال داخل ال Struct :

يمكننا في داخل اي Struct انشاء دالة لتقوم ببعض العمليات على هذا ال Struct ، ابسط مثال على ذلك لو اردنا عمل دالة renew لتجديد رخصة السير ، يمكن في هذه الحالة كتابة ال Struct بالشكل التالي :

C#:
كود :
struct Licence
{
public string UserName;
public int yearsToFinish;
public void renew(int periode)
{
yearsToFinish += periode;
}

VB.net:

كود :
Structure Licence
    
    
    Public UserName As String
    
    Public yearsToFinish As Integer
    
    Public Sub renew(ByVal periode As Integer)
    
        
        yearsToFinish += periode
        
    End Sub
    
End Structure

وهكذا يمكننا تجديد فترة الرخصة عن طريق الوصول إلى هذه الدالة مباشرة .

في التطبيقات الفعلية في العادة لا يسمح لك بالوصول إلى العناصر مباشرة إلا عن طريق دالة وذلك لمنع ادخال بيانات مغلوطة مثلاً . يمكن عمل دالة Create لانشاء ال Struct مثلاً ، وبعد انشاء نسخة من ال Struct يتم استدعاء هذه الدالة لملئ البيانات حيث لن يسمح لك برؤية باقي المتغيرات .

هناك حل آخر باستخدام Constructor او المشيد ، حيث يمكنك وقت انشاء نسخة من ال Struct تمرير البيانات المطلوبة ، يتم كتابة المشيد بالشكل التالي :

C#:
كود :
struct Car
{
private int carNumber;
private int year;
private string factory;
private Licence carLicence;
public Car(int p_carNumber, int p_year, string p_factory,Licence p_carLicence)
{
carNumber = p_carNumber;
factory = p_factory;
year = p_year;
carLicence = p_carLicence;
}
};

VB.net:

كود :
Structure Car
    
    
    Private carNumber As Integer
    
    Private year As Integer
    
    Private factory As String
    
    Private carLicence As Licence
    
    Public Sub New(ByVal p_carNumber As Integer, ByVal p_year As Integer, ByVal p_factory As String, ByVal p_carLicence As Licence)
        
        
        carNumber = p_carNumber
        
        factory = p_factory
        
        year = p_year


End Sub

End Structure

لاحظ اننا حولنا الوصول إلى المتغيرات ليكون private بحيث لا يمكن الوصول له خارج ال Struct ، معرفات الوصول ستكون احد مواضيعنا حينما ندخل في عالم ال OOP لذا لا تتعجل ولكن يكفي ان تعلم ان public تجعل قابلية الوصول من اي مكان إلى المتغير او الدالة ، اما private فلا يمكن الوصول لها إلا من داخل ال Struct .

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
الدرس العاشر : التراكيب :) Structure - بواسطة oneyemenweb2_mybb_import4801 - 06-10-12, 10:57 PM


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم