Pachete

Pachetele sunt folosite pentru a grupa clasele în funcţie de modul în care acestea comunică. Uneori, în aplicațiile foarte mari putem avea aceeași denumire pentru mai multe clase. Pentru a evita confuziile, dar și pentru o mai bună organizare a claselor noastre, vom pune clasele în pachete diferite.

Pentru a folosi pachete, se va declara pachetul pe prima linie din fişierul clasei. Pachetele grupează clasele folosite în foldere în interiorul proiectului, în folderul de fişiere surse (src).

De exemplu, clasele Client și Cont sunt obiecte clasice cu care lucrăm. Le putem pune într-un pachet comun pe care să îl numim domain (denumire convenţională). Clasa Banca este o clasă operațională. O putem pune într-un pachet care să se numeasacă client (la fel, denumire convenţională pentru acest tip de clase).

package domain;    // prima linie într-o clasă
public class Cont {......}

Clasele care nu sunt în același pachet nu se văd unele pe altele și trebuie importate, așa cum am importat și clasa Scanner, chiar dacă are access-specifier public.

Într-adevăr, aparent nu are logică, dar ideea este de multe ori (chiar foarte des) o aplicație are biblioteci uriașe cu mii de clase atașate în aplicație. Pentru a face economie de memorie, JVM nu încarcă toate aceste clase în memorie. S-ar umple memoria cu clase pe care nu le folosește. De aceea, folosind import, JVM va încărca în memorie doar clasele cu care va lucra efectiv.

În clasa Banca vom scrie:

package client;    // prima linie într-o clasă

import java.util.Scanner;
import domain.Client;  //clasa clientului nostru de bancă  
import domain.Cont;

public class Banca {
    public static void main (String [] args) {
        ........
    }
}

Pentru a denumi un pachet, formatul standard este numele paginii web specificat invers (exemplu pentru jademy.ro, avem pachetul ro.jademy) (mai ales în Android). Dacă avem pachetul ro.jademy şi câteva clase în acest pachet (Test.java), atunci structura proiectului va fi în felul următor: în folderul src, vom avea subfolderul ro, în subfolderul ro, vom avea subfolderul jademy, iar în subfolderul jademy vom avea clasa Test.java.

Pentru a folosi o clasă din acelaşi pachet, aceasta este recunoscută automat. Pentru a folosi clase din pachete diferite, trebuie să importăm clasa respectivă în clasa în care vrem s-o folosim. Deci vom folosi un import, ca în exemplele de mai sus.

You could leave a comment if you were logged in.