Metode og konstruktør

Tags:    java

Hej

Hvad er forskellen på en metode og konstruktør?
Den forståelse jeg har er at en metode er måden man gør en ting på, og som retunerer noget, mens en konstruktør ikke returnerer noget



10 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
en konstruktør er en metode.



Ok, hvad er en metode så?



En metode er noget du kalder på et objekt, som så måske, men ikke altid, returnerer noget.

Men for at du kan kalde en metode er du jo nød til at have et objekt hvilket du får via. konstruktøren (deraf navnet) som altid returnerer noget - nemlig det nye objekt.



Indlæg senest redigeret d. 20.01.2015 21:42 af Bruger #14645
hmmm ok her har jeg et program som jeg har lavet. Jeg har ikke nogen konstruktør, kun en metode som returnerer void (ingenting):

Fold kodeboks ind/udJava kode 

Er det korrekt forstået?



Indlæg senest redigeret d. 20.01.2015 21:53 af Bruger #21002
En konstruktør er den metode, der bliver kaldt når et objekt bliver initialiseret.

Altså for hver gang du laver følgende kode.
Fold kodeboks ind/udJava kode 


Bliver Object klassens konstruktør kaldt, i dit eksempel kalder du konstruktøren for Scanner, hvor du kalder konstruktøren med System.in som parameter.. Her fortæller du den nye Scanner klasse, at du er interesseret i at læse fra System.in.

System.out.println() er en metode, der printer tekst



Så i det følgende eksempel, så er objekt klassens konstruktør?

Fold kodeboks ind/udJava kode 




Nej det er det dog ikke... I dit eksempel må du have et andet sted.

Fold kodeboks ind/udJava kode 


Det der vil ske nu, er at hver gang du laver et mandalder objekt, så vil der blive skrevet "Det her er tekst" i programmets output.

Eller du kan også se denne video: https://www.youtube.com/watch?v=VQCosVPe67Y&index=4&list=PLB67802E31AAA78C5, hvor jeg forklare omkring metoder i java ;)



Hej SS!

En konstruktør gør faktisk det navner siger - det er metoden der konstruerer/opretter objektet. Ofte vil en konstruktør modtage parametre som den benytter til at initialisere felter i objektet.

I dette kodeeksempel er der en car klasse. Car klassen har et felt, make(frabrikant). Derudover har classen to constructors. Den fØrste constructor opretter objektet men giver ikke felterne nogen værdi. Du ville dermed kunne oprette et objekt af car uden at kende make ved blot at skrive car myCar = new car();. Men hvis du kender make allerede og gerne vil give objektet den værdi, kan du i stedet oprette objektet med en constructor som sætter den værdi som ses i den næste constructor som modtager string make, som parameter.

Jeg håber mit svar giver en smule mening, ellers må du meget gerne spørge!

Fold kodeboks ind/udJava kode 






Indlæg senest redigeret d. 21.01.2015 04:53 af Bruger #17368
Hej

Hvad er forskellen på en metode og konstruktør?
Den forståelse jeg har er at en metode er måden man gør en ting på, og som retunerer noget, mens en konstruktør ikke returnerer noget


en konstruktør er en metode.

Best answer EVER! :D

Hvad en konstruktør er bliver for lang håret at forklare på dette forum efter min mening. Så hvis du ikke er kommet længere i hvad en konstruktør er, så laver jeg gerne en indlæg på min hjemmeside der kan forklare hvad det er og smide et deep link.

Så bare lige giv besked.

Metode
En metode og en konstruktør er begge metoder men har vidt forskellige mål i tilværelsen.

En metode bruges for at fjerne "duplicated code".

Hvis jeg nu skal udskrive en tekst til skærmen hver gang min kode går ind i en ny metode, så kan jeg gøre dette manuelt for hver metode eller kalde en metode der gør det for mig. F.eks.

Fold kodeboks ind/udJava kode 


Her har jeg manuelt at jeg går igennem 5 metoder. Men jeg kunne også

Fold kodeboks ind/udJava kode 


Og så videre




Indlæg senest redigeret d. 21.01.2015 11:08 af Bruger #17719
En metode er en programstump der for det meste manipulerer med et object.
Når jeg siger for det meste er det fordi en metode også kan være statisk. (Spekuler ikke på dette endnu, det kommer senere i din læringsprocess)

En konstrukør er en metode der kun kaldes ÉN gang, nemlig hvergang du laver et object af en klasse.

En kontruktør skal have samme navn som klassen. (Dermed ved JAVA at det er en kontruktør og ikke "bare" en metode i klassen)

Lad os sige vi skal lave et program der holder styr på navn og alder i en virksomhed. Vi har 2 klasser, vores hovedklasse som vi kalder InfoSystem og klassen Ansatte.

Fold kodeboks ind/udJava kode 



Bemærk hvordan vi bruger den samme metode til at udskrive, afhængig af om det
er chef objektet eller rengøringskone objektet vi kalder den med.

Du kan IKKE kalde kontruktøren som du kalder en metode, følgende linje ville give en fejl.

Fold kodeboks ind/udJava kode 




t