Pagina Iniziale | Preferiti Comunity: Login | Registrati | Newsletter | Forum | Concorsi Newsgroup
Canali: Hardware | Software | Files | Webmaster | Cellulari | Shop     
Nel sito: News | Articoli | Files | Manuali | Consigli PC | Schede cellulari | Programmaz. | Hosting | Motori Ricerca | Glossario | Link
Servizi: Shopping | Forum | Crea un BLOG | Cartucce Compatibili | Hosting Aruba | Tool News |   Sponsor: Automazione Industriale
  Articoli

Recensioni
Consigli per PC


  News e files

Software
Telefonia
Internet
Tecnologia
Files e Download


  Manualistica

Guide HW/SW
Scripts ASP
Scripts HTML
Scripts Java
Scripts Delphi
Glossario


  Shopping

Hardware
Software e Giochi
Elettronica
Cinema e Film
Console e Accessori
Prodotti Ufficio
Formazione e Corsi

Tieniti aggiornato sul mondo della tecnologia con la nostra newsletter!
La tecnologia sulla tua
casella e-mail

[Info Newsletter]


Concessionaria Pubblicitaria


<< News Precedente [Fine Pagina] News Successiva >>
Il linguaggio Java: lez.6

Un articolo di: Fonte Esterna del 26/12/2002      Letture: 7509
Vai alla pagina:
 5 - Unità didattica 5.5)

7,50 Euro
Java 6 da HOEPLI.it



  Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!

- Ereditarietà

L’ereditarietà sebbene sia un argomento semplice da comprendere, genera una serie di nuovi concetti da acquisire affinché sia gestita in maniera corretta. Essa è la caratteristica della programmazione ad oggetti che mette in relazione di estensibilità più classi che hanno caratteristiche comuni. Come risultato avremo la possibilità di ereditare codice già scritto (e magari già testato), e quindi di gestire gruppi di classi collettivamente, giacché accomunate da caratteristiche comuni. Le regole per gestire correttamente l’ereditarietà sono semplici e chiare.

- La parola chiave "extends":

Ad esempio, consideriamo le seguenti classi:

class Libro
{
  public int numeroPagine;
  public int prezzo;
  public String autore;
  public String editore;
  . . .
} 
class LibroSuJava
{ 
  public int numeroPagine;
  public int prezzo;
  public String autore;
  public String editore;
  public final String argomentoTrattato="Java";
  . . .
}

Notiamo che queste due classi dichiarano dei campi in comune e ciò può apparire "non naturale" agli occhi del programmatore. In effetti, l’ereditarietà ci permetterà di scrivere:

class LibroSuJava extends Libro
{
  public final String argomentoTrattato="Java";
  . . .
}

In questo modo, la classe LibroSuJava erediterà tutti i campi pubblici della classe che estende. Quindi, anche se non sono state codificate esplicitamente, nella classe LibroSuJava sono presenti anche le variabili pubbliche numeroPagine, prezzo, autore ed editore. In particolare diremo che LibroSuJava è "sottoclasse" di Libro, e Libro è "superclasse" di LibroSuJava.

- Ereditarietà multipla ed interfacce:

In Java non esiste la cosiddetta "ereditarietà multipla" così come esiste in C++. Questa permette ad una classe di estendere più classi contemporaneamente. Ciò infatti è spesso causa di problemi implementativi, a cui il programmatore deve poi rimediare. In Java è quindi stata fatta ancora una volta una scelta a favore della robustezza, ma a discapito della potenza del linguaggio, ed ogni classe potrà estendere una sola classe alla volta. In compenso però, tramite il concetto di "interfaccia", Java offre supporto ad un meccanismo di simulazione dell’ereditarietà multipla. Questa simulazione, non presenta ambiguità, e sarà presentata nel modulo 9.

- La classe Object:

Come abbiamo già osservato più volte, il compilatore Java inserisce spesso nel byte-code compilato, alcune istruzioni che il programmatore non ha inserito. Questo, sempre per far sì che Java sia considerato "semplice". Abbiamo già detto che la programmazione ad oggetti si ispira a concetti reali. Tutta la libreria standard di Java è stata pensata ed organizzata in maniera tale da soddisfare la teoria degli oggetti. Ora, siccome la realtà è composta da oggetti (tutto può considerarsi un oggetto, sia elementi concretamente esistenti, sia concetti astratti), nella libreria standard di Java esiste una classe chiamata Object, che astrae il concetto di oggetto generico. Esso appartiene al package java.lang ed è di fatto la superclasse di ogni classe. È alla cima della gerarchia delle classi, e quindi tutte le classi ereditano i membri di Object. Se definiamo una classe che non estende altre classi, essa automaticamente estenderà Object. Il che significa che se scrivessimo:

class Arte
{
  . . .
}
il compilatore in realtà "scriverà" questa classe nel seguente modo:
class Arte extends Object
{
  . . .
}

Vai alla pagina:

Elenco delle pagine di "Il linguaggio Java: lez.6"

Introduzione e Unità didattica 5.1) - Pagina 1
Introduzione e Unità didattica 5.2) - Pagina 2
Unità didattica 5.3) - Pagina 3
Unità didattica 5.4) - Pagina 4
Unità didattica 5.5) - Pagina 5
Unità didattica 5.6) - Pagina 6



[Indietro]    [Su]      [Home]      [Commenti]      [V. Stampabile]

Commenta questa notizia:
Non hai ancora fatto il
Login, puoi inserire commenti solo come anonimo.
ATTENZIONE: il tuo IP verrà memorizzato e mostrato a fianco del commento; con la pressione del tasto invia commento si esprime il consenso alla pubblicazione di tale informazione personale.
A discrezione dello staff, i commenti ritenuti non adatti od offensivi potranno essere rimossi. Nel caso di utilizzo di espressioni volgari od offensive il comportamento verrà segnalato al provider interessato.
Se non ti sei ancora registrato, cosa aspetti? Registrati subito.

Da ora puoi discutere dei problemi informatici anche sul nostro FORUM

Testo del commento:




  News correlate

 Corso Java @ilsoftware.it
 Il linguaggio Java: lez.10/10
 Il linguaggio Java: lez.9
 Il linguaggio Java: lez.8
 Il linguaggio Java: lez.7
 Il linguaggio Java: lez.6
 Il linguaggio Java: lez.5
 Il linguaggio Java: lez.4


Domini Email SpazioWeb
a partire da € 9.99+IVA annui


  Ultime dal Forum

Conoscete metodi di guadagno?
vuoi guadagnare dai 3 ai 100 euro al giorno??
Guadagnare soldi con GDI
consiglio 1000-1100@€
Osservatorio PTC
NOVITA' ASSOLUTA
3° RADUNO ITALIANO PES 2008: ROMA - 25 MAGGIO 2008
DROP SHIP-DROP SHIPPING ITALIA
LA MIGLIORE

Comunicazioni / Note Legali / Staff / Collabora / Pubblicità / Contatti


Copyright ZETA TECH S.r.l. (P.IVA : 02387250307), tutti i diritti riservati Utenti Connessi: 280

Programmi


Pagina creata in 1.36sec. Powered by Zeta Tech S.r.l.

Stats v0.1 (0.016sec.)