Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam

Hasonló előadás


Az előadások a következő témára: "JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam"— Előadás másolata:

1 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Öröklődés. Saját kivételosztály Kovács Zsuzsanna 2009 TÁMOP /1-2F

2 JAVA PROGRAMOZÁSI NYELV NETBEANS KÖRNYEZETBEN
14/10. ÖRÖKLŐDÉS. SAJÁT KIVÉTELOSZTÁLY

3 SZÁRMAZTATÁS 01. Származtatás
public class VegzosTanulo extends Tanulo { private double erettsegiAtlag; String egyetem, szak; public double getErettsegiAtlag() { return erettsegiAtlag; } public void setTovabbTanulas(String egyetem, String szak) { this.egyetem = egyetem; this.szak = szak; a VegzosTanulo osztály a Tanulo osztály leszármazottja, vagy gyermeke a Tanulo pedig a VegzosTanulo szülője, vagyis őse 3

4 ÖRÖKLŐDÉS 02. védett tag (protected): csak az adott csomagban definiált osztályokból érhetjük el, illetve minden belőle származtatott osztályból félnyilvános tagok (módosító nélkül): öröklődnek nyilvános tagok (public): öröklődnek privát tagok (private): nem öröklődnek, de elérhetők a hozzájuk definiált nyilvános metódusokon keresztül konstruktor: nem öröklődik konstruktorból a super kulcsszóval meghívható az ős konstruktora a this kulcsszóval az osztályban definiált másik konstruktort is hívjuk abstract osztály/metódus: nincs kidolgozva, nem példányosítható/hívható final osztály/metódus: végleges, nem örökíthető/nem lehet felüldefiniálni 4

5 ÖRÖKLŐDÉS 03. Példa ős metódusának hívására
public class VegzosTanulo extends Tanulo { private double erettsegiAtlag; ... public VegzosTanulo(String nev, char osztaly, double erettsAtlag) { super(nev, 13, osztaly); erettsegiAtlag = erettsAtlag; } VegzosTanulo vtan = new VegzosTanulo( "Nagy Lajos", 'B', 4.235); 5

6 STATIKUS ÉS DINAMIKUS TÍPUS
04. Példa Tanulo tan = new Tanulo("Kiss Piroska", 12, 'B'); VegzosTanulo vtan = new VegzosTanulo("Nagy Lajos", 'B'); tan = vtan; vtan = (VegzosTanulo)tan; Példa public class Iskola { private static boolean egyOsztalybaJarnak(Tanulo tan1, Tanulo tan2) { return (tan1.getEvfolyam() == tan2.getEvfolyam() && tan1.getOsztaly() == tan2.getOsztaly()); } ... Tanulo tan1 = new Tanulo("Tóth Brúnó", 12, 'B'); Tanulo tan2 = new Tanulo("Kiss Piroska", 12, 'B'); VegzosTanulo vtan = new VegzosTanulo("Nagy Lajos", 'B'); boolean b = Iskola.egyOsztalybaJarnak(tan1, tan2); // érték: true b = Iskola.egyOsztalybaJarnak(tan1, vtan); // érték: false 6

7 METÓDUSOK FELÜLDEFINIÁLÁSA
05. Példa metódus felüldefiniálására public class Tanulo { ... private int evesOsztalypenz = 10000; public int szamolHaviOsztalypenz() { return evesOsztalypenz / 10; } public class VegzosTanulo extends Tanulo { private int ballagasKoltsegek; return super.szamolHaviOsztalypenz() + ballagasKoltsegek/10; 7

8 ABSZTRAKT METÓDUS 06. Példa absztrakt metódusra
public abstract class Negyszog { protected double aOldal, bOldal; protected double keruletSzamit() { return 2*(aOldal + bOldal); } protected abstract double teruletSzamit(); public class Teglalap extends Negyszog { public Negyszog(double aOldal, double bOldal) { this.aOldal = aOldal; this.bOldal = bOldal; protected double teruletSzamit() { return aOldal * bOldal; 8

9 SAJÁT KIVÉTELOSZTÁLY 07. Kivételosztály definíciója
class NemSzerkeszthetoException extends Exception { public NemSzerkeszthetoException(String uzenet) { super(uzenet); } Kivételosztály kezelése try { Haromszog h = new Haromszog(1, 2, 10); } catch (NemSzerkeszthetoException e) { System.err.println(e.getMessage()); } 9

10 SAJÁT KIVÉTELOSZTÁLY 08. Kivétel dobása public class Haromszog {
private double a, b, c; public Haromszog(double a, double b, double c) throws NemSzerkeszthetoException { if(a+b>c && a+c>b && b+c>a) { this.a = a; this.b = b; this.c = c; } else { throw new NemSzerkeszthetoException( "Nem szerkesztheto!"); } 10

11 ÖRÖKLŐDÉS NETBEANSBEN
09. Öröklődést implementáló példa elkészítése SZINFO13_VID_10_01 11


Letölteni ppt "JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam"

Hasonló előadás


Google Hirdetések