Milline on Java pakett programmeerimisel

Programmeerijad on koodi kirjutamisel organiseeritud kamp. Neile meeldib oma programme korraldada nii, et need voogaksid loogiliselt, kutsudes eraldi koodiplokke, millest igaühel on konkreetne töö. Nende kirjutatud tundide korraldamine toimub pakettide loomisega.

Pakett võimaldab arendajal klassid (ja liidesed) grupeerida. Need klassid on kõik mingil moel seotud - võivad kõik olla seotud konkreetse rakenduse või konkreetsete ülesannete komplektiga. Näiteks Java API on pakette täis. Üks neist on javax.xml pakett. See ja selle alampaketid sisaldavad kõiki Java API klasse, mis on seotud käitlemisega XML.

Klasside grupeerimiseks paketiks peab igal klassil olema paketi väljavõte, mis on määratletud selle ülaosas.java-fail. See annab kompilaatorile teada, millisesse paketti klass kuulub ja see peab olema esimene koodirida. Kujutage näiteks ette, et teete lihtsat lahingulaevade mängu. Mõistlik on panna kõik klassid lahingulaevadesse:

Seal hoitakse kõiki sellesse paketti kuuluvaid klasse. Näiteks kui lahingulaevade pakett sisaldab klasse GameBoard, Ship, ClientGUI, siis seal on kataloogikõnes salvestatud failid nimega GameBoard.java, Ship.java ja ClientGUI.java lahingulaevad.

instagram viewer

Näiteks paketi javax.xml nimi näitab, et XML on javaxi paketi alampakett. See ei piirdu sellega, XML-is on 11 alampaketti: sidumine, krüpto, andmetüüp, nimeruum, parserid, seep, voog, teisendamine, valideerimine, ws ja XPath.

Failisüsteemi kataloogid peavad vastama paketi hierarhiale. Näiteks paketi javax.xml.crypto klassid asuvad kataloogistruktuuris.. \ javax \ xml \ crypto.

Kuid kompilaatori osas on iga pakett eraldiseisev klassikomplekt. See ei näe alampakendis olevat klassi oma emapaketi osana. See erinevus selgub pakendite kasutamisel.

Tarkvaraettevõtetes ja suurtes projektides, kus pakendid võidakse importida teistesse klassidesse, peavad nimed olema eristatavad. Kui kaks erinevat paketti sisaldavad sama nimega klassi, on oluline, et nimekonflikte ei esineks. Selleks veenduge, et paketi nimed erinevad, alustades paketi nime ettevõtte domeeniga, enne kui see kihtideks või funktsioonideks jagada: