Anteprima
Vedrai una selezione di 3 pagine su 10
Linguaggi di Programmazione a Oggetti (JAVA) - teoria Pag. 1 Linguaggi di Programmazione a Oggetti (JAVA) - teoria Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Linguaggi di Programmazione a Oggetti (JAVA) - teoria Pag. 6
1 su 10
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

ARGOMENTI PRIMA PARTE

Cosa vuol dire sviluppare software, algoritmi, diagrammi di flusso, introduzione alla

programmazione ad oggetti, cosa sono classi e oggetti come è fatto un programma ad

oggetti. Compilatori ed Interpreti. Introduzione al linguaggio Java, istallazione sdk e

suo uso, documentazione e tutorial. Come è fatto un programma in java, il metodo

main. Definizione di variabili, tipi di dato, assegnazioni. Operatori ed Espressioni,

precedenze, regole di promozione e casting. Istruzioni per il controllo di flusso: if-else

, switch. I cicli: for, while, do while.

Introduzione alla programmazione ad oggetti

Quello che si vuole fare quando si programma è realizzare un software applicativo o

un’appicazione che deve essere eseguito da un computer per risolvere un determinato

problema o svolgere un determinato compito.

La programmazione a oggetti analizza il problema definendo gli attori del processo e

le entità che ne fanno parte.

Algoritmo

Un algoritmo è una sequenza di azioni non ambigue che trasforma i dati iniziali nel

risultato finale utilizzando un insieme di azioni elementari che possono essere eseguite

da un opportuno esecutore.

Un algoritmo è Finito (la sequenza di passi è ben determinata), Non Ambiguo

(sequenza di azioni determinabile senza ambiguità), Generalizzato (deve avere

carattere di generalità per risolvere una classe di problemi).

Diagramma di flusso

Un grafico che permette di esprimere un algoritmo in modo preciso e intuitivo.

Composto da blocchi elementari atti a descrivere azioni e decisioni (solo True/False)

ed archi orientati per collegare i vari blocchi descrivendo la sequenza di svolgimento

delle azioni.

Programma – una lista di istruzioni, scritte in linguaggio macchina in modo non

ambiguo, eseguibili meccanicamente dal computer. Ogni CPU ha il suo linguaggio

macchina.

Compilatore

Il compilatore è un programma che effettua la compilazione.

La compilazione è la traduzione da linguaggio di programmazione ad alto livello

(codice sorgente) a linguaggio macchina (codice eseguibile).

Il linguaggio macchina è legato alla macchina su cui si vuole eseguire il programma,

quindi è necessario produrre codici eseguibili diversi per macchine diverse.

In java il compilatore è javac.exe, che quando eseguito dal prompt dei comandi

genera un file con estensione .class contenente il programma tradotto in bytecode.

Interprete

L’interprete è un programma che esegue un altro/altri programma/i a partire dal

relativo codice sorgente.

L’interprete traduce ed esegue il codice sorgente un’istruzione alla volta.

Usando un interprete non viene generato un file contenente il codice eseguibile (come

nel caso del compilatore) in quanto l’istruzione tradotta viene eseguita

immediatamente.

Occorrono interpreti diversi a seconda della macchina su cui si vuole eseguire il

programma. L’interpretazione è meno ottimizzata rispetto alla compilazione.

In Java l’interprete è il file java.exe e si esegue nel prompt dei comandi con la sintassi

“java nomefile”.

Portabilità

Java è specificatamente progettato per essere quanto più possibile indipendente dalla

piattaforma di esecuzione, questo vuol dire che può essere eseguito in qualunque

ambiente in cui sia installata la macchina virtuale Java (cioè il JRE, Java Runtime

Environment).

Java produce infatti un metacodice detto bytecode, un codice ad alto livello

indipendente dalla piattaforma hardware.

Lo slogan della Sun (azienda sviluppatrice di Java) è infatti “write once, run

everywhere”; di questo slogan esiste la parodia “write once, debug everywhere”, che

si riferisce al fatto che le macchine virtuali stesse sono programmi e quindi possono

presentare dei bug che vanno corretti.

Produrre un software

Programmare: realizzare un’applicazione che deve essere eseguita da un computer

per risolvere un determinato problema.

I 7 passi:

1) capire il problema che si vuole risolvere (individuare i requisiti)

2) definire una soluzione al problema (progetto e design del software)

3) implementare la soluzione (scrivere il programma)

4) tradurre il linguaggio utilizzato per programmare in linguaggio macchina (codice

eseguibile)

5) eseguire il programma tradotto in linguaggio macchina

6) verificare il corretto funzionamento dell’applicazione (test e collaudi)

7) manutenere il prodotto software (aggiornare, aumentare funzionalità, risoluzione

errori)

Oggetto

Entità dotata di uno stato (attributi che lo descrivono), un comportamento (i metodi

per manipolare gli attributi) e di un’identità.

L’oggetto è presente in memoria ed i suoi attributi contengono dei valori.

Classe

La definizione di un insieme di oggetti che condividono un comportamento e una

struttura comuni. L’oggetto è un’istanza della classe.

La classe è la descrizione di un oggetto e si può dire che non è presente in memoria.

Un programma ad oggetti è un progetto contenente delle classi scritte in un linguaggio

di programmazione ad oggetti (es. Java)

Ereditarietà - cos'è una sottoclasse

Le sottoclassi sono quelle classi che estendono le superclassi ereditandone il codice e

le funzionalità.

Tramite l’ereditarietà (inheritance), una classe (sottoclasse), può ereditare sia i

metodi che le proprietà da un’altra classe (superclasse).

La sottoclasse può definire nuove proprietà e metodi oppure ridefinire (riscrivere)

metodi della classe padre attraverso l’overriding.

Come è fatto un programma ad oggetti in Java

Un programma Java è essenzialmente una sequenza di definizioni di classi.

Una definizione di classe definisce un template con cui creare nuovi oggetti.

Classi, Oggetti, Istanze, Attributi/Proprietà e Metodi/Comportamenti costituiscono un

programma.

Metodo main (I)

In Java l’inizio del flusso di esecuzione del programma comincia sempre da un punto

convenzionalmente stabilito: il metodo main.

Esso deve essere obbligatoriamente definito come public e static e accettare un solo

argomento, di tipo String[], e avere void come tipo di ritorno: public static void

main(String args[]) { ... }

Variabile

Un’area di memoria che viene identificata mediante un nome.

L’informazione contenuta nell’area di memoria assume un valore che dipende dal tipo

della variabile.

La memorizzazione di un valore assunto dalla variabile è detta assegnazione.

Tipi primitivi

Servono a dichiarare una variabile. Possono essere:

Numeri interi - byte (8 bit), short (16 bit), int (32 bit), long (64 bit)

Numeri reali - float (32 bit), double (64 bit)

Caratteri - char (16 bit)

Boolean - true, false

Cicli

I cicli consentono di eseguire ripetutamente un determinato blocco di codice.

In Java i cicli sono sostanzialmente 3: while, do-while e for.

Il ciclo while esegue una istruzione o un blocco di codice finché rimane verificata una

certa condizione (ovvero finché la condizione tra parentesi graffe poste dopo il while è

di tipo boolean true).

Il ciclo do-while è simile al while e analogamente al while causa l’esecuzione del

blocco tra graffe fino a quando la condizione è vera ma con la differenza che in questo

caso condizione viene presa in considerazione alla fine del blocco.

Quindi l’esecuzione del blocco di istruzioni viene effettuata almeno una volta, anche se

la condizione risulta da subito false.

Il ciclo for è costituito da una espressione di inizializzazione eseguita solo una volta

prima di iniziare il ciclo; una espressione di ‘aggiornamento’ (tipicamente un

incremento) da eseguire al termine di ogni esecuzione del blocco; una condizione di

terminazione (o uscita) dall’esecuzione iterativa.

Si ottiene un programma che esegue esattamente una volta inizializzazione, esegue

poi il blocco, quindi effettua l’incremento, valuta condizione e, se questa risulta vera

(true, come al solito condizione deve essere di tipo boolean), esegue di nuovo blocco,

alla fine del quale ripete il test e così via.

Modificatori di flusso

condizionali: if - else, switch

di interruzione di ciclo: break, continue - ritorno di valori: return

gestione eccezioni: try - catch - finally

Espressione

una serie di variabili, operatori e chiamate di metodi che dà luogo ad un singolo

valore.

Scope (ambito di validità)

La regione del codice sorgente del programma in cui la variabile si considera definita.

Al di fuori dello scope, la variabile semplicemente non esiste.

SECONDA PARTE

ARGOMENTI SECONDA PARTE

Utilizzo di classi e oggetti: variabili di riferimento, come si istanzia un oggetto,

l’operatore punto “.”, richiamare metodi: vari tipi di metodi e costruttori, il passaggio

dei parametri nei metodi, il metodo main. Ciclo di vita di un oggetto, i package e

l’import, gli Array, esempi di oggetti della libreria di Java: String, StringBuffer, System

e oggetti Wrapper. Definizione di nuove classi: come si definiscono attributi e metodi,

i costruttori, modificatori di accesso, sovraccarico o overload dei metodi, definizione di

package. Final. Static. Ereditarietà, creazione di gerarchie di classi, ridefinizione o

overriding dei metodi. Casting tra oggetti e la classe Object. Le classi astratte. Le

interfacce. La gestione degli errori: programmi corretti e robusti, cattura delle

eccezioni, lancio di un’eccezione, come definire eccezioni personalizzate. Come java

realizza l'incapsulamento, l'ereditarietà ed il polimorfismo.Come si legge la

documentazione e come si crea la documentazione con i commenti per la creazione

delle pagine di documentazione

Variabili

Una variabile è una piccola area di memoria che permette al programma di ricordare i

dati usati durante l'esecuzione, e quindi di riutilizzarli senza doverli calcolare ogni

volta.

Per utilizzare un oggetto occorre prima crearlo, per poter fare riferimento a tale

oggetto e accedere ai suoi metodi e attributi occorre dargli un nome.

Occorre creare un’area di memoria in cui memorizzare l’indirizzo di memoria in cui

verrà memorizzato l’oggetto istanziato.

Tale variabile che fa riferimento a un oggetto è detta variabile di riferimento o oggetto

o reference.

Il nome dato a tale variabile è il nome che potrà essere utilizzato per richiamare i

metodi e gli attributi dell’oggetto a cui la variabile si riferisce.

Metodo main (II)

Indica l’inizio del flusso di esecuzione, la sua sintassi è

public static void main(String[] args) { ... }

public - il metodo deve essere pubblico

static - deve esistere senza dover istanziare

Dettagli
Publisher
A.A. 2015-2016
10 pagine
3 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher sensep di informazioni apprese con la frequenza delle lezioni di Linguaggi di Programmazione a Oggetti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma Tor Vergata o del prof Celardo Mariateresa.