Hvad er forskellen mellem en metode (Java) og en funktion (C ++)?


Svar 1:

Intet i princippet. C og C ++ har deres egne opkaldskonventioner, og jeg formoder, at Java'er er forskellige, men jeg har aldrig kodet Java. Dette er kun konvention.

Jeg kan tale for C / C ++ konventioner.

Opkaldsvariabler, der er sendt i C / C ++ til en funktion, skubbes på en lagerstabel og kan ikke ændres af den kaldte funktion. Løsningen er at videresende adressen til en global omfangsvariabel til den kaldte funktion og lade den opkaldte funktion ændre dataene på den adresse, der er påpeget af den umolesterede variabel. Selve variablerne kan ændres midlertidigt, men de gendannes til opkaldsstat fra stakken, før et tilbagevenden påvirkes. Opkaldte funktioner kan naturligvis vende en returvariabel tilbage til den, der ringer via return-erklæringen.

Du er på egen hånd for Java's metodekonventioner.


Svar 2:

For det første vil jeg besvare dit spørgsmål, så vil jeg tilføje nogle yderligere punkter til det.

En metode i Java kan gøre alt, hvad en funktion kan gøre i C ++.

Begge består af et sæt udsagn, der udføres, når vi ringer til dem. Den eneste forskel er - denne metode er en egenskab for et objekt i Java, så vi kalder dem ved hjælp af en objektreference, mens vi i C ++ kan kalde en funktion uden at bruge et objekt.