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

© Kozsik Tamás 2000-2006 Csomagok. © Kozsik Tamás 2000-2006 A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.

Hasonló előadás


Az előadások a következő témára: "© Kozsik Tamás 2000-2006 Csomagok. © Kozsik Tamás 2000-2006 A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok."— Előadás másolata:

1 © Kozsik Tamás Csomagok

2 © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok Beágyazott osztályok

3 © Kozsik Tamás Alrendszerek kialakítása

4 © Kozsik Tamás Alrendszerek kialakítása

5 © Kozsik Tamás Csomag A típusainkat csomagokba soroljuk Összetartozás kifejezése A csomagok hierarchiába szervezhetők –Minősített hivatkozás pontokkal java.util Egy típus teljes neve tartalmazza az őt befoglaló csomag nevét is: java.util.Vector

6 © Kozsik Tamás Összetartozás A láthatósági módosítószavak: public, protected, private Ha nem írunk semmit, akkor „félnyilvános”, azaz csomagszintű Az azonos csomagban levő osztályok hozzáférnek egymás félnyilvános tagjaihoz A protected ennek a kiterjesztése

7 © Kozsik Tamás Csomagok hierarchiája? Igazándiból nem is a csomagok vannak hierarchiában... hanem a csomagnevek! A java csomagnak semmi köze a java.util csomaghoz - csak a nevük „hasonló” Nem tökéletes a támogatás Java-ban a programrendszerek hierarchikus tagolására

8 © Kozsik Tamás Alrendszerek kialakítása

9 © Kozsik Tamás Csomagok megadása A típusdefiníció elé egyszerűen beírjuk, hogy melyik csomagba tartozik A package kulcsszó package raktár.adatok; public class Csavar extends Anyag {... }

10 © Kozsik Tamás A csomagok összeállítása A csomagok nyitottak Bármikor hozzávehetek újabb osztályokat, interfészeket Egyszerűen elé írok egy package utasítást Egy típus pontosan egy csomagba tartozik –Csomagok metszete üres –Névtelen csomag: ha nincs package utasítás

11 © Kozsik Tamás Feladat A Pont osztály legyen a geo.alapok csomagban Fordítsuk le külön a Pont osztályt

12 © Kozsik Tamás Hivatkozás más csomagokra Ha egy forrásfájlban használni akarunk egy típust egy másik csomagból: –Írjuk ki a teljes nevét –Importáljuk import utasítással

13 © Kozsik Tamás Hivatkozás teljes névvel Például névtelen csomagban, az A osztályt definiáló fájlon belül… class A { void foo(){ java.util.Vector bar = new java.util.Vector(); }

14 © Kozsik Tamás Importálás + rövid név Például névtelen csomagban, az A osztályt definiáló fájlon belül… import java.util.Vector; class A { void foo(){ Vector bar = new Vector(); }

15 © Kozsik Tamás Importálás + rövid név Minden típust importálhatunk egyszerre a java.util csomagból: import java.util.*; class A { void foo(){ Vector bar = new Vector(); }

16 © Kozsik Tamás Az import utasítás Arra használható, hogy ne kelljen kiírni bizonyos típusok teljes nevét (pl. java.util.Vector), csak a rövid nevét (Vector). Nem elég, hogy import java.*; Nem használható „félig teljes” név, pl. util.Vector

17 © Kozsik Tamás Feladat A Kör osztály kerüljön a geo csomagba Használnia kell a geo.alapok.Pont osztályt Nem megy a fordítás, ugye?

18 © Kozsik Tamás Fordítási egység Az, amit oda lehet adni a fordítónak, hogy lefordítsa Java-ban egy fordítási egység tartalma: –package utasítás (opcionális) –import utasítások (opcionális) –típusdefiníciók (egy vagy több) A sorrend kötött A csomagdeklaráció és az importáló utasítások minden típusdefinícióra vonatkoznak.

19 © Kozsik Tamás A fordítási egységek elhelyezése Általában fájlokban, a fájlrendszerben Néhány fejlesztőeszköz ettől eltérően, valamilyen adatbázisban tárolja a forrásokat

20 © Kozsik Tamás Forrásfájlok Egy fájl pontosan egy fordítási egységet tartalmaz A fájl kiterjesztése.java Ha a fájlban van publikus típus, akkor a fájl neve meg kell, hogy egyezzen a típus nevével –Egy fájlban / fordítási egységben csak egy publikus típus lehet...

21 © Kozsik Tamás A forrásfájlok elhelyezése Hozzunk létre a csomagszerkezettel egyező könyvtárszerkezetet Abba tegyük a forrásfájlokat A főprogram egyelőre kerüljön a gyökérbe, a névtelen csomagba Fordítsunk a gyökérből Később beszélünk még a további trükkökről...

22 © Kozsik Tamás Feladat A Kör és Pont osztályok mellé írj egy főprogramot, és fordítsd össze őket Figyeld meg, hogy a Pont objektumok félnyilvános adattagjait nem tudod a Kör osztálydefinícióból vagy a főprogramból használni!


Letölteni ppt "© Kozsik Tamás 2000-2006 Csomagok. © Kozsik Tamás 2000-2006 A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok."

Hasonló előadás


Google Hirdetések