اريد شرح للوراثه من الاخوه مشرفى المنتدى ان امكن
وشكرا
اريد شرح للوراثه من الاخوه مشرفى المنتدى ان امكن
وشكرا
الوراثه هى أن صفه أو إمكانيه بتصف بها الكائنات و عالم الكمبيوتر تتصف بها الكائنات البرمجيه مثل classes , com ,d-coms
المهم أن الكائنات يكم تعريف أصناف من كائنات أخرى أصغر بداخلها ، ومن ثم تكتسب الكائنات الجديده صفات (دوال و طرق) الكائنات القديه ..
تدعم كل من ال (c++ , java) الوراثه فى الكائنات أما فجوال ييسيك (فلا أعتقد)
هذه فكره مختصره للغايه ،
فريق إيجيت بروجيكتس لتطوير و تصميم مشاريع التخرج لطلبة نظم الحاسبات و الإتصالات و حلول الشركات
http://www.egit-projects.comمن موضوعــاتــى
برنامج البحث المتقدم In-File Spider V1.5
أداه مصريه شبيهه بميكروسوفت XML 3.0 + إضافات جديده و أسرع فى الأداء
ما تحتاجة لتصميم البرامج من ادوات و موارد
Handle-X Trial V1.0 ...... برنامج الشبكات و الإختراق العربى 100% بدون أدوات OCX خارجيه
بالمناسبه ، لو انك تتحدث عن دوت نت ، فكل لغات المجموعه تدعم الوراثه تدعيما كاملا ،
إذا أردت تفاصيل أكثر ، يمكننى نقل الموضوع إلى منتدى الدوت نت إذا أردت وهناك ستجد إجابتك مسوفاه . :)
فريق إيجيت بروجيكتس لتطوير و تصميم مشاريع التخرج لطلبة نظم الحاسبات و الإتصالات و حلول الشركات
http://www.egit-projects.comمن موضوعــاتــى
برنامج البحث المتقدم In-File Spider V1.5
أداه مصريه شبيهه بميكروسوفت XML 3.0 + إضافات جديده و أسرع فى الأداء
ما تحتاجة لتصميم البرامج من ادوات و موارد
Handle-X Trial V1.0 ...... برنامج الشبكات و الإختراق العربى 100% بدون أدوات OCX خارجيه
اخى احمد عز بعد إذنك تم نقل الموضوع لمنتدى تكنولوجيا الدوت نيت العام
*******************************************************
اهلاً رضوان سؤالك جميل ويسعدنى إجابتك على قدر معلوماتى
ساقول لك مفترضاً معرفتك ببعض اساسيات البرمجه الكائنيه
الوراثه هى الميزه التى جعلت الفيجوال بيسك دوت نيت يتميز عن سابقه النسخه السادسه كونه 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
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
ماذا حدث -دعنى اخبرك كيف تتم الوراثه فى الدوت نيت
اولاً: إذا اردت ان تجعل فئتك غير قابله للوراثه كل ما عليك هو كتابة 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
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
هنا باقى المثال على كيفية الوراثه إليك ال 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
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
هذا الموضوع مغلق.