9 svar
441 visningar
Plugghingsten är nöjd med hjälpen
Plugghingsten 321
Postad: 26 okt 2018 12:20

Kalkylator

Hej,

 

Jag har börjat att programmera lite på egen hand och har nu gjort mitt första projekt. Lite frågor har jag dock.

Varför skriver jag i detta fall ut följande?

Den gör ingenting? Varför jag undrar är för att deluppgiften säger att jag ska skapa en.

AndersW 1622
Postad: 26 okt 2018 13:09

Det är konstruktorn. Den måste finnas där när du skapar en instans av klassen. I detta fall gör den ingenting men om du vill att något skall hända när du skapar en instans skall de ligga i denna del.

Affe Jkpg 6630
Postad: 26 okt 2018 13:21 Redigerad: 26 okt 2018 13:26

I "main()" skriver du:

….= new Calculator();

då körs konstruktorn du i detta fall lämnat tom.

Affe Jkpg 6630
Postad: 26 okt 2018 13:25 Redigerad: 26 okt 2018 13:29

Annars är det ett elände å hålla reda på alla "{" och "}".

Din sista "}", ska inte den flyttas före main()? Annars ingår väl main() i klassen Calculator?

Plugghingsten 321
Postad: 26 okt 2018 13:28

Som jag ser det så kan jag ta bort konstruktorn. Dock måste jag ha kvar "new Calculator();" eftersom jag skapar min egna kalkylator "myCalculator". 

Affe Jkpg 6630
Postad: 26 okt 2018 13:31
Plugghingsten skrev:

Som jag ser det så kan jag ta bort konstruktorn. Dock måste jag ha kvar "new Calculator();" eftersom jag skapar min egna kalkylator "myCalculator". 

 Nä, då finns det väl inget att exekverar när du skriver:

….= new Calculator();

Plugghingsten 321
Postad: 26 okt 2018 13:36

Det funkar även om jag har kommenterat bort konstruktorn.

AndersW 1622
Postad: 26 okt 2018 13:39

Frågan är om det borde det? I vilket fall så anses det nog som god programmeringssed att ha den där, även om den är tom. Det visar i alla fall att du inte glömt bort den.

Plugghingsten 321
Postad: 26 okt 2018 13:43 Redigerad: 26 okt 2018 13:53

Jag kan skicka ett e-postmeddelande till dem och fråga (codecademy). Tack för hjälpen ni två!

AlvinB 4014
Postad: 26 okt 2018 16:38

I undervisningssyfte är det möjligt att det finns en poäng med att skriva ut en sådan konstruktor, men i praktiken skulle jag bara ta bort den. Nästan alla känner till att en sådan konstruktor läggs till automatiskt även om man inte skriver den i källkoden, alltså blir det bara klottrigt att ha den där.

Svara Avbryt
Close