06-10-12, 10:57 PM
منقول من المنتدى القديم
كاتب المقال احمد جمال المشرف العام
انشاء الدوال داخل ال Struct :
يمكننا في داخل اي Struct انشاء دالة لتقوم ببعض العمليات على هذا ال Struct ، ابسط مثال على ذلك لو اردنا عمل دالة renew لتجديد رخصة السير ، يمكن في هذه الحالة كتابة ال Struct بالشكل التالي :
C#:
VB.net:
وهكذا يمكننا تجديد فترة الرخصة عن طريق الوصول إلى هذه الدالة مباشرة .
في التطبيقات الفعلية في العادة لا يسمح لك بالوصول إلى العناصر مباشرة إلا عن طريق دالة وذلك لمنع ادخال بيانات مغلوطة مثلاً . يمكن عمل دالة Create لانشاء ال Struct مثلاً ، وبعد انشاء نسخة من ال Struct يتم استدعاء هذه الدالة لملئ البيانات حيث لن يسمح لك برؤية باقي المتغيرات .
هناك حل آخر باستخدام Constructor او المشيد ، حيث يمكنك وقت انشاء نسخة من ال Struct تمرير البيانات المطلوبة ، يتم كتابة المشيد بالشكل التالي :
C#:
VB.net:
End Sub
End Structure
لاحظ اننا حولنا الوصول إلى المتغيرات ليكون private بحيث لا يمكن الوصول له خارج ال Struct ، معرفات الوصول ستكون احد مواضيعنا حينما ندخل في عالم ال OOP لذا لا تتعجل ولكن يكفي ان تعلم ان public تجعل قابلية الوصول من اي مكان إلى المتغير او الدالة ، اما private فلا يمكن الوصول لها إلا من داخل ال Struct .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
كاتب المقال احمد جمال المشرف العام
انشاء الدوال داخل ال 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_yearEnd Sub
End Structure
لاحظ اننا حولنا الوصول إلى المتغيرات ليكون private بحيث لا يمكن الوصول له خارج ال Struct ، معرفات الوصول ستكون احد مواضيعنا حينما ندخل في عالم ال OOP لذا لا تتعجل ولكن يكفي ان تعلم ان public تجعل قابلية الوصول من اي مكان إلى المتغير او الدالة ، اما private فلا يمكن الوصول لها إلا من داخل ال Struct .
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
