არის C#-ის მხარდაჭერა მრავალჯერადი მემკვიდრეობით?
არის C#-ის მხარდაჭერა მრავალჯერადი მემკვიდრეობით?

ვიდეო: არის C#-ის მხარდაჭერა მრავალჯერადი მემკვიდრეობით?

ვიდეო: არის C#-ის მხარდაჭერა მრავალჯერადი მემკვიდრეობით?
ვიდეო: Does C# support Multiple Inheritance ? How can you implement multiple inheritance in C# ? 2024, მაისი
Anonim

მრავალჯერადი მემკვიდრეობა in C#

C# არ მრავალჯერადი მემკვიდრეობის მხარდაჭერა , რადგან ისინი მსჯელობდნენ, რომ დამატება მრავალჯერადი მემკვიდრეობა დაამატა ზედმეტი სირთულე C# ხოლო ძალიან მცირე სარგებელს იძლევა. In C# , კლასები დაშვებულია მხოლოდ მემკვიდრეობით ერთი მშობლის კლასიდან, რომელსაც მარტოხელა ეწოდება მემკვიდრეობა

ამის გათვალისწინებით, აქვს თუ არა C#-ს მრავალჯერადი მემკვიდრეობა?

In მრავალჯერადი მემკვიდრეობა , ერთ კლასს შეუძლია აქვს ერთზე მეტი სუპერკლასი და მემკვიდრეობით მახასიათებლები მისი ყველა მშობელი კლასიდან. მაგრამ C# აკეთებს არა მრავალჯერადი მხარდაჭერა კლასი მემკვიდრეობა . ამ პრობლემის დასაძლევად ჩვენ ვიყენებთ ინტერფეისებს მრავალჯერადი კლასი მემკვიდრეობა.

ანალოგიურად, რატომ არ უჭერს მხარს. NET მრავალჯერად მემკვიდრეობას? NET და ჯავის დიზაინერებმა გააკეთეს არა დაუშვას მრავალჯერადი მემკვიდრეობა რადგან ისინი ამტკიცებდნენ, რომ MI-ს დამატება ენებს ძალიან დიდ სირთულეს უმატებდა, ხოლო ძალიან მცირე სარგებელს. სხვადასხვა ენას რეალურად განსხვავებული მოლოდინი აქვს იმის შესახებ, თუ როგორ მუშაობს MI.

ასევე იცოდეთ, რომელ პროგრამირების ენას არ აქვს მრავალჯერადი მემკვიდრეობის მხარდაჭერა?

C++ , საერთო ლიფსი და რამდენიმე სხვა ენას აქვს მრავალჯერადი მემკვიდრეობის მხარდაჭერა, ხოლო java მას არ უჭერს მხარს. ჯავა არ უშვებს მრავალჯერად მემკვიდრეობას, რათა თავიდან აიცილოს მის მიერ გამოწვეული გაურკვევლობა.

შეგიძლიათ მრავალი კლასის მემკვიდრეობა?

მრავალჯერადი მემკვიდრეობა არის ობიექტზე ორიენტირებული კონცეფციის მახასიათებელი, სადაც ა კლასს შეუძლია მემკვიდრეობა თვისებები მეტი ერთი მშობელი კლასი . პრობლემა ჩნდება მაშინ, როდესაც არსებობს მეთოდები ერთი და იგივე ხელმოწერით ორივე სუპერში კლასები და ქვეკლასი.

გირჩევთ: