PDA

View Full Version : نحوه ارث بری از دو کلاس در vb.net



mojtabadj
دوشنبه 10 اسفند 1388, 13:31 عصر
سلام دوستان عزیز

من 2 تا کلاس دارم میخوام در یک کلاس دیگر از دو کلاس قبلی ارث ببرم

یعنی در یک کلاس از 2 کلاس ارث بری داشته باشم

برای اینکار بایید چیکار کنم؟:ناراحت:

milad.biroonvand
جمعه 14 اسفند 1388, 09:48 صبح
سلام دوستان عزیز

من 2 تا کلاس دارم میخوام در یک کلاس دیگر از دو کلاس قبلی ارث ببرم

یعنی در یک کلاس از 2 کلاس ارث بری داشته باشم

برای اینکار بایید چیکار کنم؟:ناراحت:


سلام


بعد از public class ... در بالا بنويس

inherits class1

inherits class2

كه به جاي كلاس 1 و كلاس 2 اسم كلاس اول و كلاس دوم رو مي نويسي.

bad_boy_2007
جمعه 14 اسفند 1388, 21:25 عصر
سلام


بعد از public class ... در بالا بنويس

inherits class1

inherits class2

كه به جاي كلاس 1 و كلاس 2 اسم كلاس اول و كلاس دوم رو مي نويسي.

تا به حال كدي در ارتباط با ارث بري چند گانه در دات نت نديده ام ، نميدانم اصلا دات نت از اين ويژگي پشتيباني ميكند يا خير ؟

ولي كد فوق كار نميكند :


PublicClass Class1
Inherits CLSBarcode
Inherits CLSFactor
EndClass


خطاي ذيل را ميدهد :


Error 1 'Inherits' can appear only once within a 'Class' statement and can only specify one class. F:\Projects\Hesabdari\BarCode\Class1.vb 3 5 BarCode


در سايت مايكروسافت تاپيك ذيل را مشهاهده كردم كه جواب سوال فوق بود :


http://msdn.microsoft.com/en-us/library/wh62y773(VS.80).aspx


Remove any extra Inherits statements and make sure the remaining Inherits statement specifies only one base class.

همانگونه كه از پاسخ مشخص ميشود ، در دات نت از ارث بري چند گانه پشتيباني نميشود .

Chris_Ronaldo
شنبه 15 اسفند 1388, 07:45 صبح
همانطوری که دوستمون نوشتند امکان ارث بری چندگانه در دات نت وجود نداره ولی با استفاده از interface میشه چنین کاری را انجام داد.

به مثال زیر توجه کنید:
http://www.devcurry.com/2009/01/multiple-inheritance-in-c-and-vbnet.html

پیروز باشید

mostafaaa
شنبه 15 اسفند 1388, 10:28 صبح
سلام دوست من
البته میتونی با استفاده از یه ساختار درختی (بسته به نوع برنامه و که مینویسی و کلاسی که داری ازش استفاده میکنی) کلاس دومت از کلاس اولت ارث ببره و کلاس سوم از دوم که البته کلاس سوم وارث کلاس اول هم میشه.
مثلا :

'Parent class
Class Parent
Public Sub PrintParent()
Console.WriteLine("Parent")
End Sub
End Class
'Child class, heir of parent class
Public Class Child
Inherits Parent
Public Sub PrintChild()
Console.WriteLine("child")
End Sub
End Class
'Granadchild class, heir of child class and of course heir of parent class
Public Class GrandChild
Inherits Child
End Class

یا علی