منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : توريث خصائص كلاس لاخر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
انشاءت كلاس جديد وليكن اسمه Cls_ali
وبداخله مجموعه من الخصائص 
 ثم انشاءت منه متغير 
dim new_cls as cls_ali
ثم قمت بساناد قيم الي كل الخصائص الموجوده بالمتغير new_cls 
الان اريد انشاء متغير جديداسمه new_cls_2 يرث كل خصائص المتغير new_cls 
كيف يتم ذلك
في الكلاس الأصلي implement ICloneable interface
السلام عليكم

اطلع على هذا الكود
كود :
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim new_cls As New Cls_ali
        new_cls.theName = "ali"

        Dim new_cls_2 As Cls_ali = new_cls
        MsgBox(new_cls_2.theName)

    End Sub

End Class


Class Cls_ali

    Property theName As String

End Class
الكود التالي يوضح لك بعضا من الأفكار في كيفية كتابة الكلاس بشكل بسيط

PHP كود :
Public Class AliClass
    Implements ICloneable

    Public Property Text 
As String

    Public 
Function Clone() As Object Implements ICloneable.Clone
 
       Return Me.CreateDeepCopy(CreateShallowCopy())
 
   End Function

 
   Friend Function CreateDeepCopy(current As AliClass) As AliClass
        Return current
    End 
Function

 
   Friend Function CreateShallowCopy() As AliClass
        Return CType
(Me.MemberwiseClone(), AliClass)
 
   End Function

End Class 


الإستخدام

هناك أساليب كثيرة لإستخدام الكلاس الان
و الكود التالي يوضح بعضا منها

PHP كود :
Public Class Form1
    Private Sub Form1_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        Dim c1 
As New AliClass
        c1
.Text "Any Name"

 
       'Dim c2 As AliClass = c1
        '
Me.Text c2.Text

        Dim c2 
As AliClass Nothing
        If TypeOf c1 Is ICloneable Then
            c2 
CType((CType(c1ICloneable)).Clone(), AliClass)

 
       End If

 
       Me.Text c2.Text

        
' or
        c2.Text = ""
        Dim c3 As AliClass = c2.Clone
        Me.Text = c3.Text

    End Sub
End Class 
جزاك الله خيرا (مساعدة) ولاكن في طريقتك يتم الاشارة فقط الي العنصر الاساسي new_cls واي تغير يتم علي new_cls ستلاحظ انه ايضا سيتم علي new_cls_2 لان في الحقيقة المتغير new_cls_2 ليس متغير منفرد بنفسه له خصائصه الخاصة بل في حالتك هذه هو فقط يشير الي new_cls
==============================
جزاك الله خيرا استاذ (silverlight) بالفعل هذا ما كنت اريد تعلمه مع اني بحثت بالانترنت ولم اعثر علي مرادي الا بعد قراءت رد حضرتك ومفتاح القصة كلها يكمن في Clone ههههه فعلا انتا استاذ