Article View: pl.comp.lang.pascal
Article #93045Re: Generic a deklaracja w metodzie klasy
From: webmajsterek
Date: Thu, 01 Jul 2010 09:30
Date: Thu, 01 Jul 2010 09:30
72 lines
2913 bytes
2913 bytes
> On Wed, 30 Jun 2010 17:39:51 +0200, webmajsterek@poczta.onet.pl wrote:
> > type
> >
> > MyClass=class
> > var Next:MyClass;
> > procedure Add(Source :MyClass );
> > end;
> >
> > da się zrobić odwolanie w klasie generycznej do samej siebie ???
> > ( to ponizej niestety nie dizała -- a nie mam pomysłu jak ten problem
ominąć )
> >
> > generic MyClass=class
> > var Next:MyClass;
> > procedure Add(Source :MyClass );
> > end;
>
> Zgodnie z dokumentacją, jak powiadają Czesi, to se ne da.
>
> Jak chcesz prawdziwe dżeneriksy/templejty to użyj języka
> sprawnego w tym zakresie ;-).
a jaki jezyk ma tak wyjatkowe i cudowne właściwości ??
teoretycznie da sie to obejsc bo zrobilem cos takiego ze zrobilem obiekt
abstrakcyjny ( ma dokladnie te same metody ) i wszystkie moetody w nim sa
wirtualne
type
AbstractMyClass=class abstract
var Next:MyClass;
procedure Add(Source :MyClass );virtual;abstract;
end;
Generic MyClass<nBit>=class(AbstractMyClass)
procedure Add(Source :MyClass );override;
end;
nawet to działa !!
zauważyłem też drugi proglem z generikiem
jak gdziesz w programie jest taka konstrukcja
type
MyClass=class;
{...}
NextClass= class
test:MyClass;
end; { Definicje innych klas -- które odwoluja sie do MyClass}
{ wlasciwa definicja MyClass }
generic MyClass<nBit>= clas ( JakisObjekt )
private type
TArray=array of nBit; << to tu blad -- kompilator mowi ze nie wie co
to nBit
private var
Data:TArray;
{...}
end;
a moze w necie jest jakies naarzedzie ktore ma podobna ffunkcjionalnosc jak
generic ( oczywiscie dla pascala ).
parsowało by kod i odpowiednio z obiektu wejsciowego wyszukiwało by slow
kluczowych i je podmienialo .znacie cos takiego ??
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Technical Details
Message-ID:
<60b5.000013d6.4c2c6037@newsgate.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.plReferences:
<13mp0lmcq7dbl.1djvbhj3mgqk0$.dlg@40tude.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.pl From: webmajsterek@poczta.onet.pl Newsgroups: pl.comp.lang.pascal Subject: Re: Generic a deklaracja w metodzie klasy Date: Thu, 01 Jul 2010 11:30:31 +0200 Organization: Onet.pl Lines: 72 Sender: news@newsgate.onet.pl Message-ID: <60b5.000013d6.4c2c6037@newsgate.onet.pl> References: <13mp0lmcq7dbl.1djvbhj3mgqk0$.dlg@40tude.net> NNTP-Posting-Host: newsgate.onet.pl Mime-Version: 1.0 X-Trace: newsgate.onet.pl 1277976632 9702 213.180.130.18 (1 Jul 2010 09:30:32 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Thu, 1 Jul 2010 09:30:32 +0000 (UTC) X-Mailer: http://niusy.onet.pl X-Forwarded-For: 79.184.247.186, 10.174.28.58 X-User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit