Avatar billede thecokeguy Nybegynder
28. april 2006 - 13:06 Der er 5 kommentarer og
1 løsning

Statisk klasse?

Hej...

Jeg kunne godt tænke mig en klar beskrivelse af hvad forskellen er på statiske og dynamiske klasser i Delphi...

På forhånd tak.
Avatar billede spaceus Nybegynder
28. april 2006 - 13:12 #1
nu kender jeg ikke lige delphi som sådan, men helt generelt er forskellen at statiske klasser ikke skal instantieres før de kan bruges, hvor med dynamiske klasser skal du bruge et objekt (instans) af klassen..

et eksempel på en statisk klasse er i mange sprog Math klassen, hvis funktionalitet du kan bruge ved hjælp af.. Math.metode() altså du kan bruge klassen til at kalde dens metoder uden et math objekt
Avatar billede tolderlund Nybegynder
28. april 2006 - 14:03 #2
Der er ikke noget der hedder statiske og dynamiske klasser i Delphi.
Der er noget der hedder statiske klassemetoder, i modsætning til normale klassemetoder.
Jeg synes det er vigtigt at bruge den rigtige terminologi for at undgå forvirring.
Især hvis spørgeren skal forstå det.
En statisk klassemetode kan kaldes uden at klassen er blevet instantieret. Det forudsætter dog visse ting, nemlig at man ikke kan og må benytte properties og variabler på klassen.
Det kan benyttes til at lægge metoder ind på en klasse som indeholder logik man ellers ville kode i en almindelig procedure, men hvis koden i proceduren knytter sig stærkt til en klasse og ikke benyttes andre steder, kan det give mening rent logisk at skrive koden i en statisk metode på klassen i stedet for at skrive en almindelig procedure.
Avatar billede spaceus Nybegynder
28. april 2006 - 14:06 #3
og kom så med noget coke :D
Avatar billede martinlind Nybegynder
28. april 2006 - 14:32 #4
Bortset fra at du i D2006 muligvis også nogle at de tidligere versioner kan lave en record med metoder og properties og derved får en "statisk klasse"
Avatar billede tolderlund Nybegynder
28. april 2006 - 21:19 #5
Det er rigtigt at records nu kan indeholde metoder og properties, inklusive klassemetoder og klasseproperties, men der er store begrænsninger i forhold til normale klasser. Det er en ny ting i Delphi 2006 (måske også Delphi 2005?). Det er ikke muligt i Delphi 7.
Avatar billede thecokeguy Nybegynder
25. maj 2006 - 13:59 #6
Tak for et præcist svar...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester