Linea guida: Identificazione delle classi Java
Questa linea guida descrive come identificare e modellare classi Java relative ad un'applicazione J2EE.
Relazioni
Descrizione principale

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.

Diagramma descritto nel testo di accompagnamento. 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;
}
}