Diferència entre revisions de la pàgina «DAM-M3-UF4. Definició de Classes»
(→Estructura i membres) |
(→Concepte de Classe) |
||
Línia 7: | Línia 7: | ||
[[DAM-M3-UF4._Caracterització_i_ús_d'objectes#Les_Classes_i_els_objectes]] | [[DAM-M3-UF4._Caracterització_i_ús_d'objectes#Les_Classes_i_els_objectes]] | ||
− | La estructura d'una classe a Java és | + | La estructura d'una classe ''normal'' a Java és |
<pre> | <pre> | ||
Línia 29: | Línia 29: | ||
* Primer van els atributs: constants i atributs normals. | * Primer van els atributs: constants i atributs normals. | ||
* Després els mètodes: constructors, getters/setters i altres. | * Després els mètodes: constructors, getters/setters i altres. | ||
− | |||
=== Atributs === | === 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. | 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. | 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. | ||
<pre> | <pre> | ||
Línia 46: | Línia 55: | ||
} | } | ||
</pre> | </pre> | ||
+ | |||
+ | === Mètodes === | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | {| cellspacing="0" cellpadding="4" border="1" | ||
+ | |- | ||
+ | | Visibilitat (des de ...) | ||
+ | | public | ||
+ | | protected | ||
+ | | private | ||
+ | | default | ||
+ | |- | ||
+ | | La pròpia classe | ||
+ | | Sí | ||
+ | | Sí | ||
+ | | Sí | ||
+ | | Sí | ||
+ | |- | ||
+ | | Una altra classe del propi paquet | ||
+ | | Sí | ||
+ | | Sí | ||
+ | | No | ||
+ | | Sí | ||
+ | |- | ||
+ | | Una altra classe fora del paquet | ||
+ | | Sí | ||
+ | | No | ||
+ | | No | ||
+ | | No | ||
+ | |- | ||
+ | | Una subclasse del propi paquet | ||
+ | | Sí | ||
+ | | Sí | ||
+ | | No | ||
+ | | Sí | ||
+ | |- | ||
+ | | Una subclasse fora del propi paquet | ||
+ | | Sí | ||
+ | | Sí | ||
+ | | No | ||
+ | | No | ||
+ | |} |
Revisió del 12:17, 31 maig 2012
torna M3 - Programació
Contingut
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
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 | Sí | Sí | Sí | Sí |
Una altra classe del propi paquet | Sí | Sí | No | Sí |
Una altra classe fora del paquet | Sí | No | No | No |
Una subclasse del propi paquet | Sí | Sí | No | Sí |
Una subclasse fora del propi paquet | Sí | Sí | No | No |