Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

Поле предка   Найти похожие ветки 

 
Kolan ©   (2004-11-06 00:21) [0]

Есть у меня класс:
type
 TCalculation = class
 private
   FExpressions: TStringList;
   procedure SetExpressions(const Value: TStringList);
   function  GetExpressions: TStringList;
 protected
   procedure ExtractAges(var LAge,RAge: Extended);
   function  EvaluateFunction(X: Extended): Extended;
   function  RoundEx(X: Extended; Precision: Int64): Extended;
 public
   constructor Create;
   function Evaluate: string;
 published
   property Expressions: TStringList read GetExpressions write SetExpressions;


И есть его наследник
type
 TOneRootFinder = class(TCalculation)
 private
   FExpressions: TStringList;
 protected
   function  CheckFields: Integer;
   function  EvalByDixotomiyaMethod: string;

   function  CheckAccyracy(NextRoot, Root: Extended): Integer;
 public
   constructor Create;
   function  Evaluate: string;
 published
 end;

У наследника должна быть функция работающая с FExpressions: TStringList;
как "добраться" до этого поля


 
GuAV ©   (2004-11-06 00:27) [1]

Переместить поле в секцию protected либо писать наследника в том же модуле.


 
GuAV ©   (2004-11-06 00:30) [2]

Не заметил поля    FExpressions: TStringList; в TOneRootFinder. Раз оно там есть, до него можно добраться из наследника. Конфликты имен приводят к скрытию полей, добраться до скрытого из наседника  можно TCalculation(self).FExpressions


 
Kolan ©   (2004-11-06 00:33) [3]


> Не заметил поля    FExpressions: TStringList; в TOneRootFinder.

Не его там не должно быть, скопировал нето - пробовал по разному.
Как лучьше (правильней) вроде поля должны быть всегда в private


 
Kolan ©   (2004-11-06 00:36) [4]

А при TCalculation(self).FExpressions FExpressions все равно из private убрать надо?


 
Ученик   (2004-11-06 00:42) [5]

TCalculation = class
...
protected
 property MyExpressions: TStringList read FExpressions;


 
GuAV ©   (2004-11-06 00:46) [6]

Kolan ©   (06.11.04 0:36) [4]
А при TCalculation(self).FExpressions FExpressions все равно из private убрать надо?

Это вообще снимается если
Kolan ©   (06.11.04 0:33) [3]
Не его там не должно быть, скопировал нето


Kolan ©   (06.11.04 0:33) [3]
Как лучьше (правильней) вроде поля должны быть всегда в private


Ученик   (06.11.04 0:42) [5] уже ответил.

Также IMHO лучше объявить Expressions как  TStrings (создавать при этом всё равно TStringList.Create).


 
Kolan ©   (2004-11-06 00:49) [7]


> Также IMHO лучше объявить Expressions как  TStrings


> protected
>  property MyExpressions: TStringList read FExpressions;

Имелось ввиду еще доно свойство в добавок к моему property Expressions: TStringList read GetExpressions write SetExpressions?


 
Kolan ©   (2004-11-06 00:53) [8]

И заодно как к MyExpressions: TStringList read FExpressions;
теперь обратится?


 
Kolan ©   (2004-11-06 00:55) [9]

:) сам понял. Благо дарю. :)



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
1-1099423039
dolphin
2004-11-02 22:17
2004.11.21
Собития в динамически создаваемых формах


14-1099318213
oldman
2004-11-01 17:10
2004.11.21
Надыбал тут задачку...


1-1098698943
diabolik_krsk
2004-10-25 14:09
2004.11.21
Обработка событий через TActionlist


3-1098849822
КаПиБаРа
2004-10-27 08:03
2004.11.21
Не отображаются строки в DBGrid


14-1099639422
syte_ser78
2004-11-05 10:23
2004.11.21
помогите с параметрами командной строки winrar