أليست هاته وراثة متعددة في دلفي؟؟
#1
السلام عليكم
أهلا إخواني
قرأت كثيرا أن أبجكت باسكال أو دلفي تنقصها الوراثة المتعددة وأنها تعوض القليل منها عن طريق إستعمال الإنترفاس
تجولت في وحدات الدلفي كثيرا - ومن لحضة لأخرى أجد مثل هاته العباراة:

كود :
TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)

كود :
TDataSet = class(TComponent, IProviderSupport)

كود :
TGroupPosInd = (gbFirst, gbMiddle, gbLast);

كود :
TInterfacedObject = class(TObject, IInterface)

كود :
TContainedObject = class(TAggregatedObject, IInterface)
وعبارات أخرى
أليست هاته وراثة كلاس لأكثر من كلاس؟ أم أنه لدي مفهوم خاطيء ؟
ومن يتهيب صعود الجبال يعش أبد الدهر بين التلال و الحفر
الرد
#2
وعليكم السلام ورحمة الله
طالع هذا الكتاب:
http://www.delphi4arab.net/forum/showthread.php?tid=97
يزول عنك الإشكال بإذن الله Smile
الرد
#3
لا الوراثة المتعددة تعتمد على توارث أكثر من صنف، وليس إستخدام ال Interface

ما تراه يسمى implement multiple interfaces

الفرق بينهم هوا ان الوراثة المتعددة تستخدم Methods تم اضافة الكود لها في الأصناف الأعلى اي كتب جزء Implementation لها

بينما في في تعدد تنفيذ الانترفيس تستخدم فقط تعريف ال Methods الموجودة في الانترفس ويجب عليك ان تكتب الكود الخاص بها ضمن الصنف الذي ينفذه، أي أن الصنف الوراث يجب ان يحتوى على Implementation المذكور ضمن ال Interface

**** أن أكود أوضحت رغم أني كلامي قد يطون شوش أفكاركك Smile
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم