Mis on meetod?
Meetod on nimega koodiplokk, mis täidab kindlat ülesannet. Meetodid võimaldavad jagada programmi väikesteks loogilisteks osadeks, vältida koodi kordamist ja muuta programm kergemini loetavaks.
Meetodi struktuur:
ligipääs tagastustüüp Nimi(parameetrid)
{
// kood
return väärtus;
}
Meetod ilma parameetrite ja tagastuseta (void)
void tähendab, et meetod ei tagasta midagi — ta lihtsalt täidab mingi tegevuse.
static void TervitaKasutajat()
{
Console.WriteLine("Tere tulemast programmi!");
Console.WriteLine("=======================");
}
// Väljakutsumine:
TervitaKasutajat();
Meetod parameetritega
Parameetrid on väärtused, mida meetodile edastame väljakutsumise hetkel.
static void TervitaNimepidi(string nimi, int vanus)
{
Console.WriteLine($"Tere, {nimi}! Sa oled {vanus} aastane.");
}
// Väljakutsumine:
TervitaNimepidi("Anna", 20);
TervitaNimepidi("Jaan", 25);
Meetod tagastusväärtusega (return)
Meetod võib arvutada midagi ja tagastada tulemuse. Tagastustüüp kirjutatakse void asemele.
static int Liida(int a, int b)
{
return a + b; // tagastame summa
}
static double ArvetaKeskmine(int[] arvud)
{
int summa = 0;
foreach (int arv in arvud)
{
summa += arv;
}
return (double)summa / arvud.Length;
}
// Väljakutsumine:
int tulemus = Liida(10, 25);
Console.WriteLine("Summa: " + tulemus);
int[] hinded = { 3, 4, 5, 4, 5 };
double keskmine = ArvetaKeskmine(hinded);
Console.WriteLine($"Keskmine: {keskmine:F2}");
Meetodid erinevas klassis
Koodi saab jagada mitmesse klassi. See muudab programmi struktureeritumaks — iga klass vastutab oma teema eest. Teise klassi meetodi väljakutsumiseks kasutatakse KlassiNimi.MeetodNimi().
// Eraldi klass — vastutab arvutuste eest
class Kalkulaator
{
public static int Liida(int a, int b)
{
return a + b;
}
public static int Lahuta(int a, int b)
{
return a - b;
}
public static double Jagamine(double a, double b)
{
if (b == 0)
{
Console.WriteLine("Veaga: nulliga jagamine ei ole võimalik!");
return 0;
}
return a / b;
}
}
// Eraldi klass — vastutab kuvamise eest
class Kuvaja
{
public static void KuvaReegel()
{
Console.WriteLine("====================");
}
public static void KuvaTulemus(string toiming, double tulemus)
{
Console.WriteLine($"{toiming} tulemus: {tulemus}");
}
}
// Peaklass
class Program
{
static void Main()
{
Kuvaja.KuvaReegel();
int summa = Kalkulaator.Liida(15, 8);
Kuvaja.KuvaTulemus("Liitmine", summa);
int vahe = Kalkulaator.Lahuta(20, 7);
Kuvaja.KuvaTulemus("Lahutamine", vahe);
double jagatis = Kalkulaator.Jagamine(10, 3);
Kuvaja.KuvaTulemus("Jagamine", jagatis);
Kuvaja.KuvaReegel();
}
}
Täielik koodinäide
using System;
class TempTeisendaja
{
// Celsius Fahrenheitiks
public static double CelsiusToFahrenheit(double celsius)
{
return celsius * 9 / 5 + 32;
}
// Fahrenheit Celsiuseks
public static double FahrenheitToCelsius(double fahrenheit)
{
return (fahrenheit - 32) * 5 / 9;
}
// Kuvab temperatuuri mõlemas ühikus
public static void KuvaTeisendus(double celsius)
{
double fahrenheit = CelsiusToFahrenheit(celsius);
Console.WriteLine($"{celsius}°C = {fahrenheit:F1}°F");
}
}
class Program
{
static void Main()
{
Console.WriteLine("=== Temperatuuri teisendaja ===");
TempTeisendaja.KuvaTeisendus(0);
TempTeisendaja.KuvaTeisendus(20);
TempTeisendaja.KuvaTeisendus(37);
TempTeisendaja.KuvaTeisendus(100);
Console.Write("\nSisesta temperatuur Celsius: ");
double sisend = double.Parse(Console.ReadLine());
TempTeisendaja.KuvaTeisendus(sisend);
}
}
