Jeg har et spørgsmål om java main (). java main () returnerer ikke noget. Per softwareteknik kaldes en blok med kode, der ikke returnerer noget, en procedure. Så hvorfor kalder vi main () en metode? skal vi kalde det hovedproceduren i stedet?
Se venligst: Metode vs funktion vs procedure
Svar
Skal vi kalde
main()
metode sommain()
procedure?
Uformelt, sikker. Der er ikke noget problem med det.
Per softwareteknik kaldes en blok med kode, der ikke returnerer noget, en procedure.
Selvom dette er fint, er det ikke 100% standard på tværs af alle sprog og hele software engineering. Procedure er en ret generel betegnelse og kan bruges i forskellige sammenhænge i forskellige niveauer af abstraktion og generalitet.
For eksempel, i Java-sprogspecifikation vises ordet “procedure” 41 gange, hvoraf ingen bruges til at henvise til “funktioner vs. metoder mod procedurer”.
Næsten alle anvendelser af udtrykket “procedure” i specifikationen henviser til en veldefineret algoritme, oftest specifikt algoritmen for klasseinitialisering som en kompleks, intern og stateful operation af sproget & dets kørselstid snarere end som noget, du kan påberåbe sig.
I modsætning hertil vises ordet “metode” 2049 gange, hvoraf den ene er “metode d eklaration “, så dette udtryk repræsenterer en syntaktisk og semantisk konstruktion på det sprog, som programmører bruger.
Vi kalder main
en metode i Java, fordi det er det, det er ved sprogets terminologi — en “statisk ugyldig metode”. Java-sproget tilbyder ikke udtryksproceduren som noget, der kan påberåbes eller lignende en funktion uden en returværdi.
Sprog defineres typisk ved en ret streng specifikation. Disse specifikationer introducerer terminologi til brug i resten af specifikationen, og af hensyn til klarheden er sådan terminologi normalt klart defineret. Forfatterne af et sprog og dets specifikation har privilegiet at omdefinere almindelige termer med sprogspecifikke betydninger. De gør meget for at bruge disse termer konsekvent inden for deres sproglige specifikationer. Den terminologi, de introducerer i specifikationen, har tendens til at blive brugt af programmører i sammenhæng med dette programmeringssprog.
De samme nøjagtige udtryk kan variere i betydning mellem to sprog. De kan også afvige fra almindelig, uformel brug i bredt planlægning på tværs af programmering, hvor udtryk ikke er så strengt defineret som inden for en sprogspecifikation.
Kommentarer
- Erik Tak for den detaljerede forklaring. Det giver mening pr. Java-spec.