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 | 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: 12547
Vai alla pagina:
 1 - Introduzione e Unità didattica 5.1)

Si ringrazia Claudio De Sio per la concessione del materiale pubblicato in questo articolo.

Programmazione ad oggetti utilizzando Java:

Incapsulamento ed Ereditarietà

Obiettivi:

Il Lettore al termine di questo capitolo dovrà essere in grado di

  • Comprendere le ragioni della nascita della programmazione ad oggetti (unità 5.1).
  • Saper elencare i paradigmi ed i concetti fondamentali della programmazione ad oggetti (unità 5.2).
  • Saper definire ed utilizzare il concetto di astrazione (unità 5.2)
  • Comprendere l’utilizzo e l’utilità dell’incapsulamento (unità 5.3, 5.4).
  • Comprendere l’utilizzo e l’utilità del reference this (unità 5.4).
  • Comprendere l’utilizzo e l’utilità dell’ereditarietà (generalizzazione e specializzazione)(unità 5.5, 5.6).
  • Conoscere la filosofia di Java per quanto riguardo la semplicità di apprendimento (unità 5.3, 5.5).
  • Conoscere le conseguenze dell’utilizzo contemporaneo di incapsulamento ed ereditarietà (unità 5.6).

Unità didattica 5.1)

- Breve storia della programmazione ad oggetti

Scrivere un programma, significa in qualche modo simulare su di un computer concetti e modelli fisici. Nei primi tempi, la programmazione era concepita come una serie di passi lineari. Invece di considerare lo scopo del programma nella sua interezza creandone un modello astratto, si cercava di arrivare alla soluzione del problema superando passaggi intermedi. Questo modello di programmazione orientato ai processi, con il passare del tempo, e, con il conseguente aumento delle dimensioni dei programmi, ha chiaramente mostrato i suoi difetti. Infatti, aumentando il numero delle variabili e delle iterazioni tra esse da gestire, un programmatore in difficoltà, aveva a disposizione strumenti come le variabili globali, ed il comando goto. In questo modo, agli inizi degli anni ottanta, per la programmazione procedurale fu coniato il termine dispregiativo "spaghetti code", dal momento che i programmi crescendo in dimensioni, davano sempre più l’idea di assomigliare ad una massa di pasta aggrovigliata.

La programmazione orientata agli oggetti nasce ufficialmente sin dagli anni sessanta con il linguaggio Simula-67. In realtà non si trattava di un linguaggio orientato agli oggetti "puro", ma con esso furono introdotti fondamentali concetti nella programmazione quali le classi e l’ereditarietà. Fu sviluppato da nel 1967 da Kristen Nygaard dell’università di Oslo e Ole Johan Dahl del Centro di Calcolo Norvegese, ed a dispetto dell’importanza storica, non si può parlare di un vero e proprio successo presso il grande pubblico. Nei primi anni ’70 nacque lo Smalltalk, sviluppato inizialmente da Alan Kay all’Università dello Utah, e successivamente, da Adele Goldberg e Daniel Ingalls allo Xerox Park, centro di ricerca di Palo Alto in California. Smalltalk si può considerare un linguaggio ad oggetti "puro", introdusse l’incapsulamento e la release Smalltalk-80 ebbe anche un discreto successo negli Stati Uniti. A lungo andare però, sebbene considerato da molti come ideale ambiente di programmazione, rimase confinato (come Simula) nei centri di ricerca universitari di tutto il mondo, considerato come oggetto di studio più che d’utilizzo. L’introduzione nel mondo della programmazione dei concetti di classe e di oggetto, che, di fatto, rendono i programmi più facilmente gestibili, non provocò quindi immediatamente una rivoluzione nell’informatica. Ciò fu dovuto al fatto che proprio agli inizi degli anni settanta, linguaggi come il C, ottenevano i migliori risultati implementativi, come ad esempio il sistema operativo Unix, tutt’oggi ancora utilizzatissimo. Negli anni ’80 però, ci si rese conto della limitatezza della programmazione strutturata, il che fu essenzialmente dovuto ad una progressiva evoluzione dell’ingegneria del software, che iniziava a realizzare i programmi con una filosofia incrementale. Linguaggi come il C, come abbiamo già detto, per apportare modifiche al software offrono strumenti come le variabili globali e il comando goto che si possono considerare ad alto rischio. Ecco che allora fu provvidenzialmente introdotta l’estensione del linguaggio C, realizzata da Bjarne Stroustrup, nota con il nome di C++. Questo nuovo linguaggio effettivamente ha rivoluzionato il mondo della programmazione. Essendo un’estensione del C, un qualsiasi programma scritto in C deve però poter essere compilato da un compilatore C++. Ciò, anche se ha favorito la migrazione in massa dei programmatori C verso il C++, si è rivelato anche il limite essenziale del C++. Infatti, si possono scrivere programmi che fanno uso sia della filosofia ad oggetti sia di quella procedurale, abbassando così le possibilità di buon funzionamento dei programmi stessi. Da qui l’idea di realizzare un nuovo linguaggio che doveva essere "veramente" orientato agli oggetti. Java, infatti, ci propone uno stile di programmazione che quasi ci "obbliga" a programmare correttamente ad oggetti. Inoltre, rispetto al C++, sono state eliminate tutti gli strumenti "ambigui" e "pericolosi", come ad esempio il famigerato comando goto, l’aritmetica dei puntatori, e, di fatto, per utilizzare una variabile globale, ci si deve proprio impegnare! Mentre il C++ ha il merito di aver fatto conoscere al grande pubblico la programmazione ad oggetti, Java ha il merito di averne fatto apprezzare l’utilizzo.

La programmazione orientata agli oggetti, è una scienza, o meglio, una filosofia adattabile alla programmazione. Essa si basa, su concetti esistenti nel mondo reale, con i quali abbiamo a che fare ogni giorno. È già stato fatto notare al lettore che gli esseri umani posseggono da sempre i concetti di classe e di oggetto. L’astrazione degli oggetti reali in classi, fa superare la complessità della realtà. In questo modo possiamo osservare oggetti completamente differenti, riconoscendo in loro caratteristiche e funzionalità che li accomunano, e quindi associarli ad una stessa classe. Per esempio, sebbene completamente diversi, un sassofono ed un pianoforte, appartengono entrambi alla classe degli strumenti musicali. La programmazione ad oggetti inoltre, utilizzando il concetto di incapsulamento, rende i programmi composti da classi che nascondono i dettagli di implementazione dietro ad interfacce pubbliche, le quali permettono la comunicazione tra gli oggetti stessi che fanno parte del sistema. È favorito il riuso di codice già scritto, anche grazie a concetti quali l’ereditarietà ed il polimorfismo, che saranno prossimamente presentati al lettore.

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
  Ultime dal Forum

thesis disable comments on some pages
??????? Diult Diult Diult
essay on should we keep pets at home
writing an essay for college admissions
ib business and management past papers 2014
Zolpidem 5 mg APO ZOL 5
depression era essay
obstacles i overcame to attend college essay
russian march revolution essay

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


Triboo Media s.r.l. (società socio unico) - Viale Sarca 336 - Edificio 16, 20126 Milano (MI) Cap. Soc. 1.250.000,00 euro i.v. - P.IVA, C.F. e CCIAA di Milano IT06933670967 - REA MI-1924178 tel. +39 02 64741470 - fax +39 02 64741494 Società sottoposta alla direzione e coordinamento di TRIBOO SPA - all rights reserved CAP. SOC. EURO 28.740.210 I.V. - P.IVA 02387250307 - COD. FISC. e numero iscrizione al registro delle imprese CCIAA MI : 02387250307 tel.+39 02 64741401 - fax + 39 02 64741491. Utenti Connessi: 253


Pagina creata in 0,08sec. Powered by JuiceADV S.r.l.

Stats v0.1 (0,000sec.)