Genaugenommen gibts 2:
1. Beispiel
Delphi-Quellcode:
Procedure Tuwas(const gramm:integer);overload;
Procedure Tuwas(const kilogram:integer);overload;
das tut so nicht, da der Compiler meint es wären die gleichen Parameter.
2. Beispiel
Procedure TuwasAnderes(const gramm:integer;const Kilogramm:integer);
Hier könnte ich z.B. problemlos auch Tonnen übergeben, was u.U. zu recht...interresanten Problemen führen kann.
Mit entsprechenden Typen kann ich sicherstellen, das dort, wo Gramm als Parameter erwartet wird, auch nur Gramm übergeben werden können.
3. Angenehmer Nebeneffekt
Delphi-Quellcode:
var
a : Gramm;
b : Kilogramm;
erg : Gramm;
begin
a := 10;
b := 10;
erg := a+b; //<-- Ergibt 10010 Gramm !
end;
Würde ich hier z.B. einfach integer nehmen, könnte man das Ergebnis in die Tonne treten.