Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione alla Programmazione Orientata agli Oggetti in Java, Appunti di Programmazione Java

Riassunto del libro Programmazione object oriented

Tipologia: Appunti

2019/2020

Caricato il 22/06/2023

elena-prudente-2
elena-prudente-2 🇮🇹

3 documenti

1 / 16

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
UTILIZZARE OGGETTI
CLASSI: DESCRIVONO UN INSIEME DI OGGETTI AVENTI LO
STESSO COMPORTAMENTO. CLASSI DIVERSE ASSUMONO
RESPONSABILITÀ DIVERSE: UNA STRINGA CONOSCE LA
LETTERA CHE LA COSTITUISCE MA NON SA COME FARLA
VISUALIZZARE ALLUTENTE.
OGGETTI: UN OGGETTO È UNENTITÀ CHE SI PUÒ
MANIPOLARE MEDIANTE LINVOCAZIONE DEI SUOI
METODI. OGNI OGGETTO HA UNO SPECIFICO
COMPORTAMENTO E PUÒ ESSERE MANIPOLATO PER
RAGGIUNGERE DETERMINATI OBIETTIVI.
METODI: SONO UNA SEQUENZA DI ISTRUZIONI CHE
ACCEDONO AI DATI INTERNI DI UN OGGETTO. I METODI
DI UNA CLASSE COSTITUISCONO LA SUA INTERFACCIA
PUBBLICA DETERMINANDO CIÒ CHE PUÒ ESSERE FATTO
CON GLI OGGETTI DELLA CLASSE, MENTRE
LIMPLEMENTAZIONE PRIVATA DESCRIVE COME SI
PORTANO A TERMINE TALI AZIONI. QUANDO UN METODO
NON RESTITUISCE NESSUN VALORE, IL TIPO DEL VALORE
RESTITUITO VIENE DICHIARATO MEDIANTE LA PAROLA
CHIAVE VOID.
pag. 1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Introduzione alla Programmazione Orientata agli Oggetti in Java e più Appunti in PDF di Programmazione Java solo su Docsity!

UTILIZZARE OGGETTI

CLASSI: DESCRIVONO UN INSIEME DI OGGETTI AVENTI LO

STESSO COMPORTAMENTO. CLASSI DIVERSE ASSUMONO

RESPONSABILITÀ DIVERSE: UNA STRINGA CONOSCE LA

LETTERA CHE LA COSTITUISCE MA NON SA COME FARLA

VISUALIZZARE ALL’UTENTE.

OGGETTI: UN OGGETTO È UN’ENTITÀ CHE SI PUÒ

MANIPOLARE MEDIANTE L’INVOCAZIONE DEI SUOI

METODI. OGNI OGGETTO HA UNO SPECIFICO

COMPORTAMENTO E PUÒ ESSERE MANIPOLATO PER

RAGGIUNGERE DETERMINATI OBIETTIVI.

METODI: SONO UNA SEQUENZA DI ISTRUZIONI CHE

ACCEDONO AI DATI INTERNI DI UN OGGETTO. I METODI

DI UNA CLASSE COSTITUISCONO LA SUA INTERFACCIA

PUBBLICA DETERMINANDO CIÒ CHE PUÒ ESSERE FATTO

CON GLI OGGETTI DELLA CLASSE, MENTRE

L’IMPLEMENTAZIONE PRIVATA DESCRIVE COME SI

PORTANO A TERMINE TALI AZIONI. QUANDO UN METODO

NON RESTITUISCE NESSUN VALORE, IL TIPO DEL VALORE

RESTITUITO VIENE DICHIARATO MEDIANTE LA PAROLA

CHIAVE VOID.

VARIABILI: SONO ZONE DI MEMORIA USATA

ALL’INTERNO DI UN PROGRAMMA PER COMPUTER:

CIASCUNA VARIABILE HA UN NOME E CONTIENE UN

VALORE. LE VARIABILI VENGONO USATE PER

MEMORIZZARE VALORI IN UN PROGRAMMA JAVA.

QUANDO SI DICHIARA UNA VARIABILE DI SOLITO SE NE

SPECIFICA ANCHE IL VALORE INIZIALE, CIOÈ LA SI

INIZIALIZZA CON UN VALORE CHE VIENE MEMORIZZATO

NELLA VARIABILE NON APPENA QUESTA VIENE CREATA.

ES: INT WIDTH =20;

OGNI COLTA CHE SI DICHIARA UNA VARIABILE SI SPECIFICA

ANCHE IL TIPO DEI SUOI VALORI.

LA VARIABILE WIDTH HA VALORI DI TIPO NUMERI INTERI E

QUESTO TIPO DI DATO SI CHIAMA INT.

SINTASSI: NOMETIPO NOMEVARIABILE = VALORE;

O

NOMETIPO NOMEVARIABILE;

TIPI:

COMMENTI: SPIEGAZIONI DI CODICE DESTINATI A

LETTORI UMANI. PER COMMENTI BREVI SI USA LA

SINTASSI //, MENTRE PER QUELLI LUNGHI /* E*/.

A PARTIRE DALLA VERSIONE 10 DI JAVA E POSSIBILE

NON SPECIFICARE IL TIPO DELLA VARIABILE (DOUBLE)

MA SCRIVERE SEMPLICEMENTE VAR.

ARGOMENTI/PARAMETRI: SONO DEI DATI FORNITI

DURANTE L’INVOCAZIONE DI UN METODO. ALCUNI

METODI HANNO BISOGNO DI PIÙ PARAMETRI

(PRINTLN), ALTRI INVECE NON NE HANNO AFFATTO

BISOGNO (LENGHT).

OVERLOADED: SOVRACCARICO, QUANDO UN NOME SI

RIFERISCE A PIÙ METODI.

RECTANGLE: GLI OGGETTI DI TIPO RECTANGLE

DESCRIVONO FORME RETTANGOLARI CHE POSSONO

ESSERE UTILI IN VARIE SITUAZIONI: REALIZZARE

SEMPLICI GIOCHI CHE SPOSTANO RETTANGOLI,

COSTRUIRE DIAGRAMMI. GLI OGGETTI DI TIPO

RECTANGLE NON SONO FORME RETTANGOLARI, MA

SONO OGGETTI CHE CONTENGONO UN INSIEME DI

NUMERI CHE DESCRIVONO UN RETTANGOLO (X, Y,

WIDTH, HEIGHT). PER COSTRUIRE NUOVI OGGETTI SI

USA L’OPERATORE NEW, SEGUITO DAL NOME DI UNA

CLASSE E DA PARAMETRI OPPORTUNI. IL PROCESSO

CHE CREA UN NUOVO OGGETTO È DETTO

COSTRUZIONE E I QUATTRO VALORI RAPPRESENTANO I

PARAMETRI DI COSTRUZIONE.

METODO DI ACCESSO E MODIFICATORE: UN METODO

D’ACCESSO (LENGHT,RECTANGLE(GETX,

GETY,GETWIDTH,GETHEIGHT)) NON MODIFICA I DATI

INTERNI ALL’OGGETTO CON CUI È STATO INVOCATO,

MENTRE QUELLO MODIFICATORE (TRASLATE) LO FA.

VARIABILE OGGETTO: NON CONTIENE UN OGGETTO MA

MEMORIZZA AL SUO INTERNO SOLO LA POSIZIONE

DELL’OGGETTO ALL’INTERNO DELLA MEMORIA. GLI

OGGETTI POSSONO ESSERE GRANDI E OCCUPARE

DUNQUE UNO SPAZIO DI MEMORIA MAGGIORE E

DUNQUE CONVIENE MEMORIZZARE SOLO LA POSIZIONE

DELL’OGGETTO. PER FARE CIÒ USIAMO IL

RIFERIMENTO ALL’OGGETTO E QUANDO UNA

VARIABILE CONTIENE LA POSIZIONE IN MEMORIA DI UN

OGGETTO DICIAMO CHE FA RIFERIMENTO O SI

RIFERISCE A QUELL’OGGETTO. PIÙ VARIABILI OGGETTI

POSSONO FAR RIFERIMENTO AL MEDESIMO OGGETTO.

INCAPSULAMENTO: PREVEDE DI NASCONDERE I

DETTAGLI REALIZZATIVI, FORNENDO METODI PER

L’ACCESSO AI DATI, RENDENDO PUBBLICA

L’INTERFACCIA. IN JAVA, È IL COSTRUTTO SINTATTICO

CLASS CHE REALIZZA L’INCAPSULAMENTO, MENTRE I

METODI PUBBLICI DI UNA CLASSE SONO L’INTERFACCIA

ATTRAVERSO CUI VIENE MANIPOLATA

L’IMPLEMENTAZIONE PRIVATA. L’INCAPSULAMENTO

AIUTA A DIAGNOSTICARE GLI ERRORI.

COSTRUTTORI: VENGONO USATI PER INIZIALIZZARE GLI

OGGETTI. IL NOME DEL COSTRUTTORE È SEMPRE

UGUALE AL NOME DELLA CLASSE E I COSTRUTTORI NON

DEFINISCONO UN TIPO PER IL VALORE RESTITUITO

(NEMMENO VOID).

COLLAUDO DI UNITÀ: VERIFICA IL CORRETTO

FUNZIONAMENTO DI UNA CLASSE A SÉ STANTE, SENZA

CHE SIA INSERITA IN UN PROGRAMMA COMPLETO. PER

COLLAUDARE UNA CLASSE SI USA O UN AMBIENTE DI

SVILUPPO INTERATTIVO OPPURE SI SCRIVE UNA CLASSE

DI TEST CHE ESEGUA ISTRUZIONI DI COLLAUDO.

VARIABILE LOCALE: VARIABILE CHE VIENE DICHIARATA

ALL’INTERNO DEL CORPO DI UN METODO (ES. DOUBLE

CHANGE=PAYMENT-PURCHASE). LE VARIABILI

PARAMETRO SONO SIMILI A QUELLE LOCALI MA SONO

DICHIARATE NELLE INTESTAZIONI DEI METODI (ES.

PUBLIC VOID RECIVEPAYMENT(DOUBLE AMOUNT).

QUESTE DUE VARIABILI APPARTENGONO AD UN

METODO: QUANDO IL METODO CIENE ESEGUITO LE

VARIABILI “NASCONO”, QUANDO IL METODO TERMINA

L’ESECUZIONI ESSE “MUIONO”. LE VARIABILI DI

ESEMPLARI APPARTENGONO AGLI OGGETTI E NON AI

METODI.

DIFFERENZE TRA VARIABILI DI ESEMPLARI E VARIBILI

LOCALI: LE VARIABILI DI ESEMPLARI VENGONO

INIZIALIZZATI A UN VALORE PREDEFINITO, QUELLE

LOCALI DEVONO ESSERE INIZIALIZZATE ESPLICITAMENTE.

RIFERIMENTO THIS: L’USO, ALL’INTERNO DI UN

METODO, DEL NOME DI UNA VARIABILE DI ESEMPLARE

RAPPRESENTA LA VARIABILE SI ESEMPLARE DEL

PARAMETRO IMPLICITO. IL RIFERIMENTO THIS

RAPPRESENTA IL PARAMETRO IMPLICITO. UNA VARIABILE

LOCALE METTE IN OMBRA UNA VARIABILE DI ESEMOLARE

CHE ABBIA LO STESSO NOME: SI PUÒ ACCEDERE A

QUEST’ULTIMA USANDO IL RIFERIMENTO THIS.

L’INVOCAZIONE DI UN METODO SENZA USARE UN

ANTICIPATA PERCHÉ LA CONDIZIONE È VERIFICATA

PRIMA DI ENTRARE NEL CORPO DEL CICLO.

VALORE SENTINELLA: SEGNALA LA FINE DI UN INSIEME

DI DATI, MA NON FA PARTE DEI DATI STESSI.

DEBBUGER: È UN PROGRAMMA CHE SI PUÒ USARE PER

ESEGUIRE UN ALTRO PROGRAMMA E ANALIZZARE IL SUO

COMPORTAMENTO DURANTE L’ESECUZIONE.

ARRAY E VETTORI (ARRAY LIST)

ARRAY: CONTIENE UNA SEQUENZA DI VALORI DEL

MEDESIMO TIPO, CIOÈ OMOGENEI. SI ACCEDE AD UN

SINGOLO ELEMENTO DI UN ARRAY MEDIANTE UN INDICE

INTERO I, USANDO LA NOTAZIONE [I]. UN ELEMENTO DI

UN ARRAY PUÒ ESSERE USATO ESATTAMENTE COME UNA

SINGOLA VARIABILE DELLO STESSO TIPO. IL TENTATIVO

DI ACCESSO AD UN ELEMENTO IL CUI INDICE NON

APPARTENGA ALL’INTERVALLO DEGLI INDICI VALIDI

COSTITUISCE UN ERRORE DI LIMITE. QUANDO ACCADE

CIÒ SI VERIFICA UN LANCIO DI UN’ECCEZIONE. PER

CONOSCERE IL NUMERO DI ELEMENTI PRESENTI IN UN

ARRAY SI USA L’ESPRESSIONE ARRAY.LENGTH. UN

RIFERIMENTO A UN ARRAY SPECIFICA LA POSIZIONE

DELL’ARRAY ALL’INTERNO DELLA MEMORIA. COPIANDO

UN RIFERIMENTO SI OTTIENE UN SECONDO RIFERIMENTO

ALLO STESSO ARRAY. GLI ARRAY POSSONO ESSERE

ARGOMENTI DI METODI O VALORI RESTITUITI DA

METODI.

ARRAY BIDIMENSIONALI: GLI ARRAY BIDIMENSIONALI O

MATRICE SONO UNA DISPOSIZIONE DI VALORI

COSTITUITA DA RIGHE E COLONNE. SI ACCEDE CON :

ARRAY[I][J].

VETTORI: MEMORIZZA UNA SEQUENZA DI VALORI E LA

LUNGHEZZA DELLA SEQUENZA È VARIABILE. LA CLASSE

ARRAYLIST FORNISCE METODI PER SVOLGERE LE

OPERAZIONI PIÙ COMUNI. ESSA È UNA CLASSE

GENERICA: ARRAYLIST. PER CONOSCERE

LE DIMENSIONI DI UN VETTORE SI USA IL METODO SIZE,

MENTRE PER ACCEDERE AD UN ELEMENTO DI UN

VETTORE USANDO IL SUO INDICE SI INVOCANO I METODI

GET E SET. PER AGGIUNGERE E RIMUOVERE GLI

ELEMENTI USIAMO REMOVE E ADD. PER INSERIRE VALORI

DI TIPO PRIMITIVO IN UN VETTORE SI DEVONO USARE LE

CLASSI INVOLUCRO (CLASSI WRAPPER).

ARRAY O VETTORI?

CUI HA RICEVUTO UN RIFERIMENTO, MA NON PUÒ

SOSTITUIRE IL RIFERIMENTO ALL’OGGETTO CON UN

ALTRO RIFERIMENTO. PER MEMORIZZARE UNA RACCOLTA

DI VALORI USARE O ARRAY O VETTORI (PIÙ SEMPLICE

UTILIZZARE UN VETTORE PERCHÉ NON CI SI DEVE

PREOCCUPARE DEL NUMERO DI VALORI).

UML: LA NOTAZIONE UML DISTINGUE FRA DIAGRAMMI DI

OGGETTO E DIAGRAMMI DI CLASSE.

EFFETTO COLLATERALE: QUALSIASI MODIFICA CHE PUÒ

ESSERE OSSERVATA AL DI FUORI DEL METODO. GLI

EFFETTI COLLATERALI POSSONO INTRODURRE

INDIPENDENZA E POSSONO CAUSARE COMPORTAMENTI

INATTESI. È BUONA NORMA RIDURRE AL MINIMO GLI

EFFETTI COLLATERALI.

UNA PROPRIETÀ DI UN OGGETTO PUÒ ESSERE

ISPEZIONATA CON UN METODO GET E MODIFICATA CON

UN METODO SET. ALCUNI OGGETTI HANNO UN

COMPORTAMENTO CHE VARIA IN RELAZIONE A CIÒ CHE È

ACCADUTO IN PASSATO.SE IL COMPORTAMENTO DI UN

OGGETTO DIPENDA DAL FATTO CHE ASSUMA UNO STATO

TRA ALCUNI POSSIBILI, USATE UNA VARIABILE DI

ESEMPLARE PER MEMORIZZARE IL SUO STATO

CORRENTE. PER PROGETTARE EFFETTO COLLATERALE

MODELLO DI UN OGGETTO CHE SI SPOSTA BISOGNA

MEMORIZZARE LA POSIZIONE E AGGIORNARLA.

VARIABILI STATICHE E METODI STATICI: UNA VARIABILE

STATICA APPARTIENE AD UNA CLASSE, NON A UN

OGGETTO DELLA CLASSE. UN METODO STATICO NON

VIENE INVOCATO MEDIANTE UN OGGETTO ( ES: SQRT).

DAL MOMENTO CHE I NUMERI NON SONO OGGETTI, NON

SI POSSONO UTILIZZARLI PER INVOCARE METODI. UN

METODO STATICO NON HA UN OGGETTO COME

PARAMETRO IMPLICITO, QUINDI NON HA ACCESSO

DIRETTO ALLE VARIABILI DI ESEMPLARE DI UN OGGETTO.

PACCHETTO: È UN INSIEME DI CLASSI CORRELATI. LA

DIRETTIVA IMPORT PERMETTE DI UTILIZZARE UNA

CLASSE DI UN PACCHETTO USANDO SOLTANTO IL NOME

DELLA CLASSE, SENZA IL PREFISSO DEL PACCHETTO. IL

PERCORSO DEL FILE CHE CONTIENE UNA CLASSE DEVE

CORRISPONDERE AL SUO NOME DI PACCHETTO. SE

IMPORTIAMO DUE PACKAGE CHE CONTENGONO

ENTRAMBI UNA CERTA CLASSE MYCLASS, UN

RIFERIMENTO A MYCLASS NEL CODICE GENERA UNA

COLLISIONE SUL NOME MYCLASS. IN QUESTO CASO IL

PER INDICARE CHE UNA CLASSE IMPLEMENTA

UN’INTERFACCIA SI USA LA PAROLA RISERVATA

IMPLEMENTS.

SINTASSI: PUBLIC CLASS NOMECLASSE IMPLEMENTS

NOMEINTERFACCIA1, NOME INTERFACCIA2{VARIABILI

DI ESEMPLARI E METODI}.

I TIPI INTERFACCIA VENGONO UTILIZZATI PER RENDERE

IL CODICE MAGGIORMENTE RIUTILIZZABILE.