🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #93045

Re: Generic a deklaracja w metodzie klasy

#93045
From: webmajsterek
Date: Thu, 01 Jul 2010 09:30
72 lines
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.pl
References: <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