Introduzione
In un'applicazione Java, le classi Java sono i blocchi di costruzione fondamentali per tutti i costrutti di
implementazione, come JavaBean, EJB, servlet e applet. Forniscono infatti tutta la logica di implementazione.
Le classi sono modelli in base ai quali vengono creati gli oggetti. Contengono strutture di dati con gli algoritmi per
manipolare i dati. Solitamente la classe è una factory relativa agli oggetti che definisce.
Queste linee guida non spiegano nei dettagli il concetto di classi o di progettazione object-oriented. Il discorso che
segue presuppone che il lettore conosca bene la progettazione object-oriented. Per una spiegazione dettagliata della
progettazione object-oriented, fare riferimento alla relativa sezione.
Funzioni della classe Java
Le classi Java includono:
-
funzioni di membro
-
dati di membro
-
funzioni statiche
-
dati statici
-
ereditarietà
-
implementazione di interfacce
Le funzioni di membro implementano il comportamento relativo agli oggetti e vengono eseguite nel contesto di un singolo
oggetto.
I dati di membro definiscono le strutture di dati relativi ad oggetti, sotto forma di una serie di dichiarazioni
variabili. Sono in principio accessibili solo mediante funzioni di membro.
Le funzioni statiche sono metodi che vengono applicati al di fuori del contesto del singolo oggetto che definiscono.
I dati statici appartengono alla classe che li definisce piuttosto che ai singoli oggetti che descrivono. Esiste
esattamente un'istanza di dati statici per ogni applicazione in esecuzione. I dati statici sono solitamente accessibili
tramite funzioni statiche, sebbene alcune progettazioni richiedano istanze che accedono direttamente ai dati statici.
Le classi Java possono essere collegate da ereditarietà, espressa mediante la parola chiave di Java "extends".
L'ereditarietà fornisce una tecnica sofisticata per il riutilizzo del codice, consentendo ai progettisti di estrarre
strutture di dati e comportamenti comuni nelle superclassi, lasciando il comportamento specifico nelle sottoclassi.
Un'interfaccia dichiara una serie di metodi la cui implementazione è fornita nelle classi. Una classe può implementare
diverse interfacce e le interfacce possono essere implementate da molte classi. La separazione di un'interfaccia
dall'implementazione accresce l'indipendenza delle classi. L'accesso agli oggetti tramite le interfacce rappresenta un
modo chiaro di utilizzare il polimorfismo.
Identificazione delle classi Java
In un'applicazione J2EE, le classi Java possono essere identificate per supportare la progettazione di elementi J2EE.
Per ulteriori informazioni su come identificare questi elementi, consultare le seguenti linee guida:
Le linee guida per identificare ulteriori classi Java non differiscono da quelle che descrivono tutti gli altri tipi di
classi. Per ulteriori informazioni, consultare il Compito: identify_design_elements_real-time_design.
Modellazione di classi Java
Le classi Java sono modellate come classi UML.
Nel diagramma sottostante viene mostrata la rappresentazione UML di una classe Java e il rispettivo codice sorgente
Java.
|
class MyClass {
private int myMemberData;
private String myOtherMemberData;
private static int myStaticData;
public int getMyMemberData() {
return this.myOtherMemberData;
}
public static int getMyStaticData() {
return MyClass.myStaticData;
}
}
|
|