HOME PAGE  |   CONTATTI |   COLLABORA |  ASP  |  PHP  |  HTML |  CSS |  PERL |  JAVA |  TCP/IP  |  RETI  |  LINUX |  MANUALI SPAZIO WEB
PROGRAMMAZIONE

Linguaggio C++

Linguaggio C

Assembler

Java

Perl

LINGUAGGI WEB

Html

Asp

Php

Css

Javascript

GUIDE DI BASE

Internet

Computer

Hardware

Linux




 

Il linguaggio Java

 

La programmazione orientata agli oggetti  


 

 

La programmazione orientata agli oggetti è una filosofia di programmazione estremamente potente e vicina al programmatore. Essa consente di creare programmi che sopravvivono alle continue evoluzioni del sistema in cui sono immersi separando la parte implementativa dalla modellazione del problema. Si basa su una metodologia di sviluppo di tipo top_down, cioè risolve i problemi iniziando da livelli di astrazione maggiori, per giungere ai problemi più concreti legati all'implementazione. Gli elementi fondamentali di tale paradigma sono gli oggetti che vengono, in un primo momento definiti, descrivendone le caratteristiche, poi creati e allocati in memoria ed infine vengono usati in relazione l'uno con l'altro.


 

 

Alla luce di quanto detto precedentemente si capisce che la base di questa tecnica di programmazione è la struttura che ci permette di modellare entita' astratte . La classe è la struttura formale attraverso la quale si possono definire nuovi tipi di dati e le relazioni che intercorrono con le altre classi. Questa struttura è composta da due elementi: gli attributi, o variabili di istanza, che descrivono la struttura dati della classe e i metodi che operano sugli attributi secondo una certa "implementazione" e offrono sull'esterno una "interfaccia". Con il termine interfaccia si definisce un formalismo per individuare quali funzioni sono implementate e come, tali funzioni, vengono chiamate I dettagli dell' implementazione sono nascosti all'utente, il quale potra' interagire solo tramite l'interfaccia prestabilita.

 

 

 

 

La classe è è un modello astratto tramite ilquale vengono definite delle proprietà comuni ad una vasta categoria di oggetti, attraverso un processso notocome "classificazione". L'oggetto reale è "instanziato", e si può operare su di esso tramite la sua interfaccia, nel momento in cui si alloca lo spazio sufficiente in memoria, si inizializzano gli attributi e si carica il codice dei suoi metodiin accordo al modello della classe di appartenenza.

 

 

 

Gli oggetti che appartengono ad una stessa classe hanno comuni proprietà dal punto di vista semantico, cioè di significato ad alto livelllo; si tratta di variabili definte in differenti locazioni di memoria e quindi del tutto indipendenti: Si noti che due oggetti possono avere inizializzati nello stesso modo i propri attributi e restare tuttavia distinti, nello stesso modo in cui due variabili restano distinte da nomi simbolici diversi, anche se contengono lo stesso valore. Per esempio se si considerasse la classe delle persone su ogni oggetto persona si potrebbe distinguere il colore dei capelli, l'altezza o il peso. Tali valori sono detti membri e rappresentativole caratteristiche peculiari di una categoria. I membri di una classe possono essere di tipo "primitivo" (ex: int, float, boolean)ma anche riferimaenti a generiche classi. In questo caso inizializzare tale membro significa creare un'istanza della sua classe. La figura mostra che i metodi della classe contenitore possono accedere ai membri dell'oggetto contenuto soltanto tramite la sua interfaccia simbolica.

 


 


Data una classe è possibile costruire una nuova classe che sia un'estensione della prima senza dover ridefinire gli attributi e i metodi già implementati nella prima attraverso il meccanismo della derivazione. Questa nuova classe è chiamata anche "classe derivata" o "sottoclasse" della classe da cui eredita le sue caratteristiche. In pratica la classe derivata ha i propri metodi e i propri attributi ed in piu' ereditaquelli della sua superclasse e ciò avviene per tutte le ulteriori sottoclassi. Per fare un esempio, si può immaginare di rappresentare con una classe il concetto di "gatto" ed avere come sottoclasse il concetto di gatto siamese. Questa tecnica è rappresentativa di come la programmazione orientata agli oggetti si sviluppa in maniera top down dal concetto più astratto al più concreto. Si noti come sia possibile limitare l'accesso ai membri e metodi da parte di una classe derivata mediantel'uso dei cosiddetti "modificatori" publico-privato-protetto.

 


 

Il polimorfismo è quel meccanismo che consente ad un'interfaccia di essere utilizzata per una classe generale di azioni che, pur essendo riferite ad oggetti differenti e pur avendo differenti implementazioni, siano equivalenti dal punto di vista semantico. La specifica azione selezionata è determinata dalla natura della situazione. Per spiegare meglio questo concetto si consideri il seguente esempio nel mondo reale. La definizione di polimorfismo può essere applicata al termostato. Se si desidera raggiungere una data temperatura, ad esempio 25 gradi, non si deve fare altro che impostarla sul termostato indipendentemente dal combustibile usato o dal modo di funzionamento dell'impianto. Quindi tutti i termostati svolgono la stessa funzione e offrono all'utente la stessa interfaccia, anche se sono costruiti in maniera completamente diversa. Dal punto di vista realizzativo si definisce "astratto" il metodo nella classe di base e lo si implementa soltanto nelle classi derivate. Il giusto collegamento è realizzato in modo dinamico.

 

 

 Menù   -   Prossima lezione


Nuova pagina 1


 

 

HOME PAGE   -   CONTATTI   -   COLLABORA   -  PRIVACY  -   HOSTING   -   DOMINI

© Copyright 2002-2011. Tutto il materiale che potete visionare in questo sito è dei rispettivi proprietari.

  Tutorialpc non si assume responsabilità per eventuali errori degli autori. 

Risoluzione consigliata 800x600 pixel