![]() |
#35 |
Участник
|
Цитата:
Сообщение от CDR
![]() X++: void processDefaultData()
{
;
processData(data1);
processData(data2);
processData(data3);
processData(data4);
....
} ![]() во-первых, я забыл записать этот способ. а он обсуждался. это будет способ 5. во-вторых, чтобы так написать нужно чтобы processData был реентерабельным. в принципе, не такое уж усложняющее требование. но все-таки. в-третьих, я не зря упомянул в теме про классы. при таком подходе, класс-потомок сможет только добавлять начальные данные, но не изменять начальные данные родителя. X++: class foo { void processDefaultData() { ; processData(data1); processData(data2); processData(data3); processData(data4); .... } .... } class fooBar extends foo { void processDefaultData() { ; // как в этом методе изменить/убрать из списка data3? super(); processData(data5); .... } } в общем, бывают случаи, когда совсем статический подход не работает. но согласен - это очень хороший подход в большинстве случаев. |
|