التعليقات

فهم الأنواع العامة في دلفي

فهم الأنواع العامة في دلفي

تم إدخال Generics ، إضافة قوية إلى Delphi ، في Delphi 2009 كميزة لغة جديدة. الأدوية الجنيسة أو الأنواع العامة (تعرف أيضًا باسم أنواع parametrized) ، اسمح لك بتحديد الفئات التي لا تحدد نوعًا معينًا من أعضاء البيانات.

كمثال ، بدلاً من استخدام نوع TObjectList للحصول على قائمة بأي أنواع الكائنات ، من Delphi 2009 ، الوراثة. تحدد وحدة المجموعات قائمة TObjectList المكتوبة بقوة أكبر.

فيما يلي قائمة بالمقالات التي تشرح الأنواع العامة في دلفي مع أمثلة الاستخدام:

ماذا ولماذا وكيف على الأدوية في دلفي

الوراثة مع دلفي 2009 Win32

تسمى الأدوية الجنيسة أحيانًا المعلمات العامة ، وهو اسم يسمح بتقديمها بشكل أفضل إلى حد ما. على عكس المعلمة الدالة (الوسيطة) ، التي لها قيمة ، فإن المعلمة العامة هي نوع. وهو يحدد معلمة الفصل أو الواجهة أو السجل أو بطريقة أقل تكرارا ... مع ، كمكافأة ، إجراءات مجهولة ومراجع روتينية

دلفي الجنيسة تعليمي

يمكن استخدام Delphi tList أو tStringList أو tObjectlist أو tCollection لإنشاء حاويات متخصصة ، ولكن تتطلب typecasting. مع الوراثة ، يتم تجنب الصب ويمكن للمترجم اكتشاف أخطاء الكتابة عاجلاً.

باستخدام الأدوية في دلفي

بمجرد كتابة فصل دراسي باستخدام معلمات النوع العام (عامة) ، يمكنك استخدام هذا الفصل مع أي نوع والنوع الذي تختاره لاستخدامه مع أي استخدام محدد لتلك الفئة يحل محل الأنواع العامة التي استخدمتها عند إنشاء الفصل.

واجهات عامة في دلفي

تستخدم معظم الأمثلة التي رأيتها في الأدوية الجنيسة في دلفي فئات تحتوي على نوع عام. ومع ذلك ، أثناء العمل في مشروع شخصي ، قررت أنني أريد واجهة تحتوي على نوع عام.

مثال على أنواع الأدوية البسيطة

إليك كيفية تحديد فئة عامة بسيطة:

نوع
TGenericContainer = صف دراسي
القيمة: T ؛
النهاية;

باستخدام التعريف التالي ، إليك كيفية استخدام حاوية عامية ذات سلسلة وأعداد صحيحة:

فار
genericInt: TGenericContainer؛
genericStr: TGenericContainer؛
ابدأ
genericInt: = TGenericContainer.Create؛
genericInt.Value: = 2009؛ // الاعداد الصحيحة فقط
genericInt.Free.
genericStr: = TGenericContainer.Create؛
genericStr.Value: = 'Delphi Generics'؛ / / سلاسل فقط
genericStr.Free.
النهاية;

المثال أعلاه يخدش فقط سطح استخدام الوراثة في دلفي (لا يفسر أي شيء - لكن المقالات أعلاه تحتوي على كل ما تريد معرفته!).

بالنسبة لي ، كانت الأدوية الجنيسة سبب الانتقال من دلفي 7/2007 إلى دلفي 2009 (والأحدث).

شاهد الفيديو: طريقة عامة لرسم جميع الاشكال بc++ ,vb (أبريل 2020).