Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

J a v a Začínáme programovat Lucie Žoltá Přetěžování metod, rekurze.

Podobné prezentace


Prezentace na téma: "J a v a Začínáme programovat Lucie Žoltá Přetěžování metod, rekurze."— Transkript prezentace:

1 J a v a Začínáme programovat Lucie Žoltá Přetěžování metod, rekurze

2 Přetěžování metod Přetěžování metod se používá v případě že chceme mít obecnější metodu, která nebude závislá na daném typu argumentu. Např. máme metodu která přijímá argumenty typu double, ale my pracujeme s int a vždy když chceme metodu použít, musíme objekty přetypovat.

3 Přetěžování metod Vytvoříme tedy dvě metody se stejným názvem, ale s argumenty jiného typu. Když pak budeme voláme přetypovanou metodu, zavolá se ta která má argumenty odpovídajícího typu.

4 Přetěžování metod static int secti (int a, int b){ return a + b; } static double secti (double a, double b){ return a + b; } static byte secti (byte a, byte b){ byte vysledek = (byte)secti((int)a,(int)b return vysledek; } static String secti(String a, String b){ return a+b; }

5 Rekurze Rekurze je děj při němž metoda volá sama sebe. Má široké využití ve programech které testují všechny možné varianty (hledání cesty v bludišti, řešení sudoku, různé šachovnicové příklady,…), pro výpočet sumy, apod. Ukázkovým příkladem je faktoriál.

6 Rekurze Faktorial:n! = n * (n - 1) * (n -2) * … * 1 Přiklad:5! = 5 * 4 * 3 * 2 * 1 = 120 Metoda tedy přijme jeden argument a pak volá samu sebe ale pokaždé s (n-1).

7 Rekurze static int faktorial (int n) { int fak = 1; if (n==1) return 1; fak = n * (faktorial(n-1)); return fak; } fak = 3 * (faktorial(2)) return 3*2; fak = 2 * (faktorial(1)) return 2*1; return 1;

8 Rekurze - Suma.java Udělej metodu,která pomocí rekurze bude počítat jednoduchou sumu (n). n5n5 n ∑ n n=0 n+ (n-1) + (n-2) +…0 5+4+3+2+1+0 =15


Stáhnout ppt "J a v a Začínáme programovat Lucie Žoltá Přetěžování metod, rekurze."

Podobné prezentace


Reklamy Google