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?
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' :)
*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
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...
med et module tænker programmøren subjektivt med en class tænker programmøren objekttivt
:P
Synes godt om
Ny brugerNybegynder
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.