الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماذا تعرف عن الوراثه فى الدوت نت

مغلق
بدأه rudwaan في 14 أبريل 2004 · 5 رد · 4,901 مشاهدة · في قسم تكنولوجيا Microsoft .NET العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد شرح للوراثه من الاخوه مشرفى المنتدى ان امكن

وشكرا

#2

الوراثه هى أن صفه أو إمكانيه بتصف بها الكائنات و عالم الكمبيوتر تتصف بها الكائنات البرمجيه مثل classes , com ,d-coms

المهم أن الكائنات يكم تعريف أصناف من كائنات أخرى أصغر بداخلها ، ومن ثم تكتسب الكائنات الجديده صفات (دوال و طرق) الكائنات القديه ..

تدعم كل من ال (c++ , java) الوراثه فى الكائنات أما فجوال ييسيك (فلا أعتقد)

هذه فكره مختصره للغايه ،

#3

بالمناسبه ، لو انك تتحدث عن دوت نت ، فكل لغات المجموعه تدعم الوراثه تدعيما كاملا ،

إذا أردت تفاصيل أكثر ، يمكننى نقل الموضوع إلى منتدى الدوت نت إذا أردت وهناك ستجد إجابتك مسوفاه . :)

#4

اخى احمد عز بعد إذنك تم نقل الموضوع لمنتدى تكنولوجيا الدوت نيت العام

*******************************************************

اهلاً رضوان سؤالك جميل ويسعدنى إجابتك على قدر معلوماتى

ساقول لك مفترضاً معرفتك ببعض اساسيات البرمجه الكائنيه

الوراثه هى الميزه التى جعلت الفيجوال بيسك دوت نيت يتميز عن سابقه النسخه السادسه كونه fully object oriented النسخه القديمه لم تكن تدعم الوراثه إلا فى شئ بسيط وهو implemention interface

دعنى اوضح لك الوراثه هنا الوراثه هى الخاصيه التى تسمح لك بانشاء مجموعة من الفئات المختلفه عن بعضها و المشتركة فى عدة طرق methods او متغيرات فى نفس الوقت مع وراثة بعض الخصائص والطرق - أنا لا افهم شئ - ألست انت كائن object من النوع (الفئه class ) انسان تشترك فى بعض خصائصك مع كائنات من نفس النوع (لاحظ من نفس النوع) مثل لون العينين او لون الشعر او الطول - الست وارثاً لاحد صفاتك من والديك بالاضافه لإلى صفاتك انت التى تميزك

اتمنى ان تكون وضحت ولكن ما علاقتها بالبرمجه نعم افترض ان لديك فئه كالاتى

Public Class Cperson
    'in this class we are going to demonstrate the 
    'oop concept during implemenation
    'developer:tarik ibrahim
    'paltform:windows xp professional
    'visual studio.net 2002
 Public Interface Isalary
        Function salary(ByVal hours As Int16, ByVal pay_for_hour As Long, ByVal tax As Long) As Long
    End Interface

    'member variables
    Dim m_name, m_address As String
    Dim m_id, m_age, m_n_o_child As Int16
    Dim m_childs() As String
    Dim m_pass As Object

    'oropeties of the base class
    Property id() As Int16
        Get
            Return m_id
        End Get
        Set(ByVal Value As Int16)
            m_id = Value
        End Set
    End Property

    Friend Property name() As String
        Get
            Return m_name
        End Get
        Set(ByVal Value As String)
            m_name = Value
        End Set
    End Property

    Friend Property address() As String
        Get
            Return m_address
        End Get
        Set(ByVal Value As String)
            m_address = Value
        End Set
    End Property

    Friend Property num_of_childs() As Int16
        Get
            Return m_n_o_child
        End Get
        Set(ByVal Value As Int16)
            m_n_o_child = Value
            ReDim Preserve m_childs(m_n_o_child - 1)
        End Set
    End Property

    Default Property childs(ByVal z As Int16) As String
        Get
            Return m_childs(z - 1)

        End Get
        Set(ByVal Value As String)
            m_childs(z - 1) = Value
        End Set
    End Property

    WriteOnly Property password()
        Set(ByVal Value)
            m_pass = Value
        End Set
    End Property

    Public Function age(ByVal dt1 As Date) As Int16

        Return DateDiff(DateInterval.Year, dt1, Today)

    End Function

    Public Function age(ByVal dt1 As Date, ByVal dt2 As Date) As Int16

        Return DateDiff(DateInterval.Year, dt1, dt2)

    End Function



End Class

هذه فئه اسمها Cperson لها خصائص ومتغيرات وطرق ايضاً بعد انشائها ستقوم بتخليق كائناتك منها ولكن لفترض ان بعد فتره اردت ان تنشأ فئه جديده للموظف ...هذه الفئه الجديد تحتوى على نفس خصائص ومتغيرات وطرق الفئه الاولى Cpeson بالاضافه إلى بعض الخصائص والطرق التى تريد إضافتها للفئه Cemploy ..... اسمعك تقول نعم فنحن سنورث الفئه الاولى للفئه الثانيه ثم نضيف إليها الخصائص والطرق الجديده التى تجعلها اكثر وظيفيه

دعنا نقف هنا

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 17 أبريل 2004 في 05:57

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#5

ماذا حدث -دعنى اخبرك كيف تتم الوراثه فى الدوت نيت

اولاً: إذا اردت ان تجعل فئتك غير قابله للوراثه كل ما عليك هو كتابة NotInheritable بعد كلمة PUBLIC او PRIVATE او PROTECTED فى اول الفئه

ثانياً: إذا اردت ان تجعل الفئه تورث استخدم INHERITS لوراثة الفئه

ثالثاً:افرض انك لاتريد لفئتك ان يشتق منها كائن بل فقط تود ان تجعلها قابله للوراثه استخدم MUSTINHERITS

فى كل الاحوال قم باضافة الخصائص والطرق الجديده التى تود إضافتها

هناك اضافات بسيطه نسيت ان اذكرها باعلى وهو ان الوراثه تمثل علاقة IS-KIND -OF اى جزء من وهذا صحيح فالفئه المشتقه Derived CLASS هى جزء من الفئه الام Base Class

الفيجوال بيسك دوت نيت يدعم فقط ال single inheritance اى الوراثه من فئه واحده باعلاه فقط ولا يدعم ال multiple inheritance كما فى ال c++

الكود باعلى مكتوب بالفيجوال بيسك دوت نيت ويحتوى على اكواد لمواضيع اكثر فى ال OOP بالدوت نيت

اتمنى ان اكون قد وفقت فى توضيح الصوره ولو احببت يمكن ان نتوسع

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 15 أبريل 2004 في 03:01

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#6

هنا باقى المثال على كيفية الوراثه إليك ال derived class المسماه Cemp

Public Class Cemp
    Inherits Cperson
    Implements Cperson.Isalary

    Function salary(ByVal hours As Int16, ByVal pay_for_hour As Long, ByVal tax As Long) As Long Implements Isalary.salary
        Return ((hours * pay_for_hour) - tax)
    End Function

    Function salary(ByVal monthsalary As Long, ByVal tax As Long) As Long
        Return (monthsalary - tax)
    End Function

End Class

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 18 أبريل 2004 في 09:47

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

هذا الموضوع مغلق.

مواضيع مشابهة