Сегодня я бродил по форуму CSDN и нашел такой пост: «Я только что увидел несколько строк изысканного кода от мастера боевых искусств, и я не мог понять это, я надеюсь, что вы можете дать мне несколько советов» Отношение к обучению всем мастерам боевых искусств, я вижу после завершения всего поста, я обнаружил, что контент очень классический.
тип
Tstringgridex = class (tstringgrid);
Процедура tform1.button1click (отправитель: tobject);
Начинать
Если tstringgridex (stringgrid1) .rowcount> 5 тогда
TstringGridex (StringGrid1) .Deleteterow (5);
конец;
------------------------------------------------------ --------
Это код для удаления строки кода в StringGrid. Я работал над этой проблемой в течение 2 часов, но не мог ее решить. Но почему tstringgridex = class (tstringgrid); Очевидно, что это также унаследованный TStringGrid, который такой же, как и tstringgrid? Моя голова слишком большая! Надеюсь, вы дадите мне несколько советов!
Приведенное выше содержание вопроса плаката. Дельфи.
1. Защищенные члены TStringGridex могут быть доступны в TFOR, поскольку они определены в одной и той же единице.
2. Защищенные члены TStringGrid не могут быть доступны в TFOR, поскольку они не определены в одной и той же единице.
3. Поскольку tstringgridex = class (tstringgrid), доступ к защищенному члену TstringGridex здесь эквивалентно доступу к защищенному члену TStringgrid
4. TStringGridex - это просто посредник, и его функция не расширяется, но он вводит в эту единицу объем TStringGrid, поэтому TFOR может получить доступ к охраняемым членам TStringGrid.
Представление Zhangmenyi заключается в том, что защищенные и частные члены Delphi видны различным классам и объектам в том же единице, и защищенные элементы могут быть видны в подразделении подкласса элемента, поэтому TstringGridex наследует только tstringgrid и не делает этого Любая модификация может также сделать защищенные члены в TStringGrid видимым в единице TStringGridex (другая причина заключается быть открытым. Мы также можем взглянуть на объектно-ориентированные характеристики Delphi от этого.
Хотя это удобно для разработки, он может запутать начинающих
Даже не достаточно строго
Но в любом случае, Дельфи больше нет в славе, давайте просто используем его
Комментарий Чжана мужчин Сан: нет идеальной вещи! Есть только вещи, которые подходят!
Комментарий Чжангмен 4: защищенный метод обычно скрыт, поэтому невозможно напрямую генерировать экземпляр класса, но в Delphi класс, расположенный в том же устройстве , таким образом, вы можете увидеть защищенный метод, написав реализацию подкласса в соответствующем блоке.