DAM-M3-UF4. Definició de Classes

De Wiki IES Marianao. Departament Informàtica
La revisió el 12:48, 31 maig 2012 per Alex (Discussió | contribucions) (Tipus de classes)

Dreceres ràpides: navegació, cerca

torna M3 - Programació

Concepte de Classe

Estructura i membres

DAM-M3-UF4._Caracterització_i_ús_d'objectes#Les_Classes_i_els_objectes

La estructura d'una classe normal a Java és

public class NomClasse {
     {constants}

     {atributs}

     {constructors}

     {getters / setters}

     {altres mètodes}
}

Per conveni:

  • El nom de la classe comença amb majúscules.
  • El nom dels atributs i mètodes comencen en minúscules.
  • Si consten de vàries paraules, van seguides (sense espais o altres caràcters) i cada nova paraula comença amb majúscules.
  • Primer van els atributs: constants i atributs normals.
  • Després els mètodes: constructors, getters/setters i altres.

Atributs

Els atributs defineixen l'estat dels objectes de la classe. Tots els objectes de la classe tenen els mateixos atributs però amb valors diferents.

Aquests es poden precedir de modificadors que en determinen l’accés i el tipus. Els modificadors d’accés determinen la visibilitat dels atributs:

  • Sense modificador, accessible des de les classes del mateix paquet
  • private, accessible des de la pròpia classe
  • protected, accessible des de la pròpia classe i subclasses
  • public, totalment accessibles

En general els atributs sempre són private (o protected). Les constants poden ser públiques si són d'utilitat.

Els modificadors de tipus:

  • static, atribut de classe
  • final, constant, el valor no pot canviar després de ser inicialitzat.
public class Alumne {
    public static final int MAX_ALUMNES = 30;
    private static int totalAlumnes;
    private String dni;
    private String nom;
    private int edat;
}

Mètodes

Els mètodes determinen el comportament, permeten la comunicació entre objectes.

Aquests també poden anar precedits de modificadors que en determinen l’accés i el tipus.

Els Modificadors d’accés determinen la visibilitat dels mètodes i són els mateixos que per als atributs: Sense modificador, private, protected, public.


Els modificadors de tipus,

  • static, mètode de classe
  • abstract, mètode no implementat, cal reescriure’l en els descendents.
  • final, el mètode no pot ser sobreescrit
  • syncronizable, tractament multifil.

Tipus de classes

Per establir el tipus de classe, Java utilitza els modificadors: public, abstract, final, synchronizable

Sense modificador: Accessibles des del mateix paquet.

  • public: Accessibles des de altres classes
  • abstract: Té mínim un mètode abstract que cal implementar.
  • final: no admet subclasses.
  • syncronizable: Per al tractament de fils (Threads). Tots els mètodes estan sincronitzats, no s’hi pot accedir des de diferents fils al mateix temps.

Visibilitat

Cal anar en compte amb els paquets que poden donar visions errònies de la visibilitat.

Visibilitat (des de ...) public protected private default
La pròpia classe
Una altra classe del propi paquet No
Una altra classe fora del paquet No No No
Una subclasse del propi paquet No
Una subclasse fora del propi paquet No No