03-10-12, 01:01 AM
كاتب الموضوع : samerselo
أفترض بمن يتابع معي أن تكون له دراية عن الفئات وإنشائها والتعامل معهاالواجهة هي نوع مرجعي تستخدمه الأنواع الأخرى لضمان أنها تدعم عملية معينة وهي تحدد عناصر معينة يجب أن تتضمنها الفئات التي تحقق هذه الواجهات وهي تحتوي على طرائق وخصائص وعناصر أحداث تماما كالفئات
الصيغة العامة
كود :
[ <attributelist> ] [ accessmodifier ] [ Shadows ] _
Interface name [ ( Of typelist ) ]
[ Inherits interfacenames ]
[ [ modifiers ] Property membername ]
[ [ modifiers ] Function membername ]
[ [ modifiers ] Sub membername ]
[ [ modifiers ] Event membername ]
[ [ modifiers ] Interface membername ]فئة
[ [ modifiers ] Class membername ]
[ [ modifiers ] Structure membername ]
End Interface
لنرى الآن بعض الأمثلة عن الواجهات
يمكن أن نعرف واجهة لأشخاص تحتوي على بعض الخصائص كما يلي
كود :
Interface IPerson
Property Name() As String
Property Birthdate() As Date
ReadOnly Property Age() As Integer
End Interface
كود :
Interface ISomeMath
Function AddNumbers(ByVal a As Integer, ByVal b As Integer) As Integer
Function AddNumbers(ByVal a As Double, ByVal b As Double) As Double
Function Multiply(ByVal a As Integer, ByVal b As Integer) As Double
End Interface
كما يمكن أن نعرف واجهة لدفتر الهواتف ترث واجهة الأشخاص كما يلي
كود :
Interface IPhonebook
Inherits IPerson
Property Phone() As String
Property Address() As String
Sub ShowInformations()
End Interface
كود :
Public Class Phones
Implements IPhonebook
Public ReadOnly Property Age() As Integer Implements IPerson.Age
Get
End Get
End Property
.......
End Class
كود :
Class SomeTest
Implements IPerson
Implements ISomeMath
Public ReadOnly Property Age() As Integer Implements IPerson.Age
Get
End Get
End Property
.......
Public Function AddNumbers(ByVal a As Double, ByVal b As Double) As Double _
Implements ISomeMath.AddNumbers
End Function
.......
End Class
وهذا مثال على تعشيش الواجهات بداخل بعضها
كود :
Interface IPhonebook
Interface IPersone
Property Name() As String
Property Birthdate() As Date
ReadOnly Property Age() As Integer
End Interface
Property Phone() As String
Property Address() As String
Sub ShowInformations()
Event SomeEvent(ByVal a As Int16)
End Interface
كود :
Class test
Implements IPhonebook
Implements IPhonebook.IPersone
.......
End Class