Avatar billede vb-adversary Nybegynder
20. oktober 2004 - 22:58 Der er 8 kommentarer

Fordele ved Classes?

Uha... Ja jeg må blankt indrømme at jeg mangler
noget vigtig viden her. Jeg aner ikke hvad der
er så fedt ved en class, som et gameldags module
ikke kan erstatte... Kan nogen give mig de eksakte
fordele og ulemper ved en class, samt præcist
hvad en class kan?
Avatar billede arne_v Ekspert
20. oktober 2004 - 23:56 #1
Klasser er et centralt begreb i OOA&D (objekt orienteret analyse og design) og OOP
(objekt orienteret programmering).

Det er den gængse metode idag.

Module bygger på procedural programmering som var gængs fra ca. 1970-1995.

Det objekt orienterede har fået en endnu større rolle i VB.NET, som du jo
sikkert kommer til at kigge på før eller siden.

Jeg vil undlade at forsøge at beskrive fordelene ved OO her. Det emne er
for stort.
Avatar billede olebole Juniormester
20. oktober 2004 - 23:57 #2
<ole>

Jeg kan se, det er det samme spørgsmål, du har oprettet under VB. Der giver sammenligningen mellem en klasse og 'et gameldags module' mening ... det gør den ikke rigtig under PHP  :)

Den slags er lidt forskelligt fra sprog til sprog, så jeg vil råde dig til at koncentrere dig om ét sprog ad gangen. At forstå, hvorfor klasser er fede, kræver, man begynder at tænke objekt orienteret.
Det er for mange lidt af en omvæltning, indtil de finder ud af, at man som menneske på mange måder bruger objekt orienterede teknikker til at strukturere data om omgivelserne. Det virker bare lidt abstrakt i begyndelsen  :)
Derfor får du blot vanskeligere ved at tilegne dig forståelsen af OOP (Object Oriented Programming), hvis du prøver at forstå forskellige sprogs måder at bruge OOP på.

Prøv at finde nogle gode tutorials på nettet ... søg på Google på 'OOP'  :)

/mvh
</bole>
Avatar billede olebole Juniormester
21. oktober 2004 - 00:02 #3
*LoooL* nå, så fik jeg zq lagt svaret her ... det var egentlig meningen, jeg ville have svaret i PHP-kategorien.
Jeg havde bare lige set spm'et her og ville sammenligne, da jeg efterfølgende så dit spm. under PHP - og kom altså til at smide kommentaren det forkerte sted  ;D
Avatar billede olebole Juniormester
21. oktober 2004 - 00:04 #4
Hmmmmmmm .... glem det ..... for mange vinduer åbne. God nat, Ole ...!!!  :D
Avatar billede stoffer Nybegynder
21. oktober 2004 - 01:00 #5
I VB synes jeg selv at fordelene er mange, her de vigtigste:

a) Overskuelighed / Gennemskuelighed
Du kan have en masse klasser som kan forskellige ting inde i dem selv, og så kun vise de metoder der er relevante i forhold til resten af programmet

b) Genbrugelighed
Klasser kan nemt genbruges. Og hvis de skal genbruges over flere programmer kan du lave DLL'er ud af det ret nemt.

c) Opdeling
Hivs du vil dele programet op (f.eks. så .exe filen ikke er stor) gøres det nemmere når det er opbygget i klasser

d) Scope
I modul kan du sagtens lave globale variabler. Dette gør du ikke i klasser, hvilket gør en lidt mere sikker på at der ikke er en masse unødvendige variabler osv.

VB6 er ikke rigtig OOP, idet man (så vidt jeg husker) ikke har mulighed for nedarvning mm. VB's styrke ligger i det simple og det i stort omfang er funktionsbaseret sprog - hvilket efter min mening kan gøre små programmer hurtige og simple. Svagheden er selvfølgelig at det stinker til større programmer fordi det hurtigt bliver "spaghetti" kode.

Siden du har lagt spørgsmålet her formoder jeg det er VB6 vi snakker om?. Er selv skiftet til .net og java for et par år siden...det kan anbefales. Men her skal du helt klart studere OOP indgående - for overgangen fra VB6 til C# kan være svær...
Avatar billede skwat Praktikant
21. oktober 2004 - 14:37 #6
Klasser kan have propertys, hvor du tester på hvad der bliver fyldt i.

Klasser kan bruges til at holde data, hvor efter du kan bruge seje funktioner som for each osv.
Avatar billede arne_v Ekspert
06. november 2004 - 18:14 #7
vb-adversary>

Tid at få afsluttet spørgsmålet ?

(bed evt. dem som du synes har hjulpet dig ligge et svar så du kan give dem point)
Avatar billede fizz Nybegynder
03. juni 2005 - 22:12 #8
med et module tænker programmøren subjektivt
med en class tænker programmøren objekttivt

:P
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