Вниз
Скачать: CL | DM;

Вопрос про ООП   Найти похожие ветки 

 
Dmitry S ©   (2008-02-11 05:48) [0]

Конструктивно:
Есть класс TStream.
У него есть куча потомков, например, TMemoryStream и TFileStream;

Как мне в TStream добавить несколько дополнительных методов так, чтобы они появились и у TMemoryStream и TFileStream?

Естественно без перекомпиляции генофонда:)


 
iZEN   (2008-02-11 05:52) [1]

Никак.


 
MBo ©   (2008-02-11 06:36) [2]

кое-что можно в BDS сделать с помощью class helpers


 
Slym ©   (2008-02-11 06:54) [3]

Dmitry S ©   (11.02.08 5:48)
делай класс Реадер/Врайтер
TStreamExtensions=class(TStream)
private
 FStream:TStream;
public
 function ReadLn:string;
 constructor Create(Stream:TStream);override;
 destructor Destroy;override;
end;

TStreamExtensions.Create(Stream:TStream);
begin
 inherited;
 FStream:=Stream;
end;
TStreamExtensions.Destroy;
begin
 FStream.Free;
 inherited;
end;

MyStream:=TStreamExtensions.Create(TMemoryStream.Create);
MyStream.ReadLn;
MyStream.Free;


 
Skier ©   (2008-02-11 11:08) [4]

>Dmitry S ©   (11.02.08 05:48)  
А можно узнать зачем?


 
Palladin ©   (2008-02-11 11:17) [5]


> [4] Skier ©   (11.02.08 11:08)

Иногда не хватает функционала для удобства у базового класса...


 
Marser ©   (2008-02-11 11:22) [6]


> Slym ©   (11.02.08 06:54) [3]
> Dmitry S ©   (11.02.08 5:48)делай класс Реадер/Врайтер

Ага, обёртку над стандартным классом, достаточно полезно бывает.
А врубиться за просто так в стандартные классы не выйдет, разве что вытянуть их полный код, переименовать и переделать по-своему - если уж делать, то так хоть безопасно.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
11-1185952611
nikfel
2007-08-01 11:16
2008.03.23
Подобие кнопки в стиле XP.


11-1186432080
Kirill
2007-08-07 00:28
2008.03.23
DecodeDate


15-1202610413
turbouser
2008-02-10 05:26
2008.03.23
Эй, админы...


2-1203981939
чувак
2008-02-26 02:25
2008.03.23
помогите разобраться с mouse_event...


2-1204033951
AlexeyMir
2008-02-26 16:52
2008.03.23
Как обозвать компонент созданный в процессе выполнения программы




   Наверх