داشتم سورس TBUTTON رو مطالعه میکردم ... به یه نکته برخوردم که برام سوال شده!
---
TButton = class(TButtonControl)
Public
property Caption;
property Enabled;
property Font;
----
چرا Read , Write این پراپرتیها تنظیم نشده ؟ مقادیرشان رو از کجا میگیرن ؟
داشتم سورس TBUTTON رو مطالعه میکردم ... به یه نکته برخوردم که برام سوال شده!
---
TButton = class(TButtonControl)
Public
property Caption;
property Enabled;
property Font;
----
چرا Read , Write این پراپرتیها تنظیم نشده ؟ مقادیرشان رو از کجا میگیرن ؟
در کلاس TControl این Property ها در قسمت Protected تعریف شده اند و در این کلاس فقط برای استفاده
از اونها نام اونها رو نوشتند.
برای اینکه TButton خودش از Inherited شده از TControl
خوب از کجا میفهمه که پراپرتی Font متعلق به کدام پراپرتی از پدر است؟
هم نامه .
این کد برای یاد آوری این نکتست که این پراپرتی در این کنترل ارث برده شده جزو خواص عمومیه نه protected .
این روش به این علت استفاده شده تا شما در صورتی که خواستین یک کنترل از نوع TButton برای خودتون داشته باشین و نمی خواهین که خواص Caption یا فونت را داشته باشین مستقیما از TButtonControlارث بری کنین. و چون این خواص در TButtonControlبه صورت Protected است در کنترل شما غیر قابل دسترسی خواهند بود.
در حقیقت TButtonControl کار اصلی را انجام می دهد و Tbutton آنها را آشکار می سازد.
باید به کلاسهای والد به ترتیب نگاه کنید.خوب از کجا میفهمه که پراپرتی Font متعلق به کدام پراپرتی از پدر است؟
از همه سروران و دوستان بابت وقتی که گذاشتید تشکر میکنم