Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaCsongor Illés Megváltozta több, mint 10 éve
1
© Kozsik Tamás 2000-2006 Csomagok
2
© Kozsik Tamás 2000-2006 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 2000-2006 Alrendszerek kialakítása
4
© Kozsik Tamás 2000-2006 Alrendszerek kialakítása
5
© Kozsik Tamás 2000-2006 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 2000-2006 Ö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 2000-2006 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 2000-2006 Alrendszerek kialakítása
9
© Kozsik Tamás 2000-2006 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 2000-2006 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 2000-2006 Feladat A Pont osztály legyen a geo.alapok csomagban Fordítsuk le külön a Pont osztályt
12
© Kozsik Tamás 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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 2000-2006 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!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.