Difference between revisions of "6236 Programmering I Agenda/Method overload"
From Teknologisk videncenter
Line 36: | Line 36: | ||
System.Console.ReadKey(); | System.Console.ReadKey(); | ||
} | } | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | En endnu bedre måde er at lade den ene metode kalde den anden, så vi er sikre på der altid udføres den samme opgave. | ||
+ | |||
+ | <source lang=Csharp> | ||
+ | static Double haev(Double sal) | ||
+ | { | ||
+ | System.Console.WriteLine("Hvor meget vil du hæve?"); | ||
+ | Double beloeb = Convert.ToDouble(System.Console.ReadLine()); | ||
+ | //Her kalder metoden den anden metode med de ekstra parametre | ||
+ | return haev(sal, beloeb); | ||
+ | } | ||
+ | |||
+ | static Double haev(Double sal, Double belob) | ||
+ | { | ||
+ | sal = sal - beloeb; | ||
+ | return sal; | ||
} | } | ||
</source> | </source> |
Revision as of 14:57, 26 November 2015
I konto øvelsen havde vi metoden haev. Metoden to sal som en parameter og spurgte brugeren hvor meget der skal hæves.
Lad os antage at vi nogle gange allerede ved hvor meget der skal hæves og gerne vil overfører det beløb som parameter sammen med saldo.
Det kan vi med det der kendes som method overloading.
I eksemplet her har vi to metoder med samme navn, men den ene tager kun en parameter, den anden tager to. Når vi kalder metoden fra main finder C# selv ud af hvilken metode den skal anvende ud fra antallet af parametre.
class Program
{
static Double haev(Double sal)
{
System.Console.WriteLine("Hvor meget vil du hæve?");
Double beloeb = Convert.ToDouble(System.Console.ReadLine());
sal = sal - beloeb;
return sal;
}
static Double haev(Double sal, Double belob)
{
sal = sal - beloeb;
return sal;
}
static void Main(string[] args)
{
Double saldo = 25000;
//Kald den hæv metode som spørger brugeren hvad der skal hæves
haev(saldo);
//Kalder den metode der blot hæver beløbet (1000kr)
haev(saldo, 1000);
System.Console.ReadKey();
}
}
En endnu bedre måde er at lade den ene metode kalde den anden, så vi er sikre på der altid udføres den samme opgave.
static Double haev(Double sal)
{
System.Console.WriteLine("Hvor meget vil du hæve?");
Double beloeb = Convert.ToDouble(System.Console.ReadLine());
//Her kalder metoden den anden metode med de ekstra parametre
return haev(sal, beloeb);
}
static Double haev(Double sal, Double belob)
{
sal = sal - beloeb;
return sal;
}