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


Appunti object oriented programming, Appunti di Informatica

Sono degli appunti che potrebbero rilevarsi utili

Tipologia: Appunti

2023/2024

Caricato il 08/01/2025

ion-gavriliuc
ion-gavriliuc 🇮🇹

5

(1)

2 documenti

1 / 3

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
OBJECT ORIENTED
SI INIZIA A PROGRAMMARE A INIZI ANNI 70 CON OBJECT ORIENTED, UNO DEI PRIMI
LINGUAGGI CHE EBBE PIÙ SUCCESSO È C, PER POI ARRIVARE A LINGUAGGI COME JAVA E PHP.
IL VISUAL BASIC È STATO IL PRIMO TRA I GENERAL PURPOSE PER LA GESTIONE GENERALE DEI
CODICI. LA CARATTERISTICA PRINCIPALE DEI LINGUAGGI IMPERATIVI È IL CONCETTO DI
ESECUZIONI IN SEQUENZA CON I CICLI FONDAMENTALI. TOP DOWN E BOTTOM UP SONO
METODOLOGIE DI SUDDIVISIONE DI UN PROBLEMA GENERALE IN PICCOLI PROBLEMI,QUANDO
SI VA A SUDDIVIDERE UN PROGRAMMA IN TANTI SOTTOPROGRAMMI VADO A USARE DELLE
FUNZIONI O DELLE PROCEDURE NELLA QUALE PASSO I PARAMETRI CHE MI SERVONO. I PRIMI
LINGUAGGI PURI DI OBJECT ORIENTED SONO SMALL TALK (EBBE POCO SUCCESSO PERCHÉ SI
PREFERÌ CONVERTIRE I LINGUAGGI PRINCIPALI IN LINGUAGGI CHE SUPPORTANO OBJECT
ORIENTED).
LA PROGRAMMAZIONE OBJECT ORIENTED VA A RACCHIUDERE QUELLO CHE VIENE DEFINITO IL
PARADIGMA OBJECT ORIENTED CHE CONTIENE TUTTE LE METODOLOGIE DI PROGRAMMAZIONE IN
QUESTO CONTESTO.
UML (UNDEFINED MODEL LANGUAGE): SI OCCUPA DELLA PROGRAMMAZIONE STRUTTURALE
(CLASSI)E COME LE CLASSI COMUNICANO TRA LORO,SI OCCUPA DELLA PARTE FUNZIONALE E
ANCHE DEGLI ASPETTI DINAMICI.
ENCAPSULATION: TUTTE LE STRUTTURE DATI E TUTTE LE ISTRUZIONI CHE LAVORANO SU
QUESTI DATI SONO RACCHIUSE IN UN'UNICA STRUTTURA CONCETTUALE SINTATTICA (VUOL DIRE
CHE CONCETTUALE SI INTENDE CHE SI PENSA GIÀ DURANTE LA PROGETTAZIONE)TUTTE LE
ISTRUZIONI POSSONO ESSERE VISIBILI O NO DALL'ESTERNO E VENGONO UTILIZZATE DA UN
INTERFACCIA, IL PROGRAMMATORE CHE VA AD UTILIZZARE UN OGGETTO DI UNA CLASSE
DEVE CONOSCERE LE PROPRIETÀ DELLA CLASSE E INSIEME DI ISTRUZIONI CHE AGISCONO
SULLE PROPRIETÀ (OBJ1.PRO=;
OPPURE OBJ1.METODO();)
INFORMATION HIDING: CI SI VA A PREOCCUPARE SOLO DEL INTERFACCIA SENZA
INTERESSARCI DELLA PARTE CHE STA DENTRO LA STRUTTURA (CLASSE)
EREDITARIETÀ: EREDITARIETÀ PARTE DA UN QUALCOSA DI GENERALE CHE POI RACCHIUDE
UNA SERIE DI CLASSI GENERALI CHE SI ARTICOLA IN TANTI CLASSI SPECIFICHE,PARTENDO
DALLE CARATTERISTICHE GENERALI CHE VENGONO EREDITATI DALLE CLASSI PIÙ SPECIFICHE
CON AGGIUNTA DI UN QUALCOSA DI SPECIFICO.
pf3

Anteprima parziale del testo

Scarica Appunti object oriented programming e più Appunti in PDF di Informatica solo su Docsity!

OBJECT ORIENTED

SI INIZIA A PROGRAMMARE A INIZI ANNI 70 CON “OBJECT ORIENTED”, UNO DEI PRIMI

LINGUAGGI CHE EBBE PIÙ SUCCESSO È C, PER POI ARRIVARE A LINGUAGGI COME JAVA E PHP.

IL VISUAL BASIC È STATO IL PRIMO TRA I GENERAL PURPOSE PER LA GESTIONE GENERALE DEI

CODICI. LA CARATTERISTICA PRINCIPALE DEI LINGUAGGI IMPERATIVI È IL CONCETTO DI

ESECUZIONI IN SEQUENZA CON I CICLI FONDAMENTALI. TOP DOWN E BOTTOM UP SONO

METODOLOGIE DI SUDDIVISIONE DI UN PROBLEMA GENERALE IN PICCOLI PROBLEMI, QUANDO

SI VA A SUDDIVIDERE UN PROGRAMMA IN TANTI SOTTOPROGRAMMI VADO A USARE DELLE

FUNZIONI O DELLE PROCEDURE NELLA QUALE PASSO I PARAMETRI CHE MI SERVONO. I PRIMI

LINGUAGGI PURI DI OBJECT ORIENTED SONO SMALL TALK (EBBE POCO SUCCESSO PERCHÉ SI

PREFERÌ CONVERTIRE I LINGUAGGI PRINCIPALI IN LINGUAGGI CHE SUPPORTANO OBJECT

ORIENTED).

LA PROGRAMMAZIONE OBJECT ORIENTED VA A RACCHIUDERE QUELLO CHE VIENE DEFINITO IL

PARADIGMA OBJECT ORIENTED CHE CONTIENE TUTTE LE METODOLOGIE DI PROGRAMMAZIONE IN

QUESTO CONTESTO.

UML (UNDEFINED MODEL LANGUAGE): SI OCCUPA DELLA PROGRAMMAZIONE STRUTTURALE

(CLASSI) E COME LE CLASSI COMUNICANO TRA LORO, SI OCCUPA DELLA PARTE FUNZIONALE E

ANCHE DEGLI ASPETTI DINAMICI.

ENCAPSULATION: TUTTE LE STRUTTURE DATI E TUTTE LE ISTRUZIONI CHE LAVORANO SU

QUESTI DATI SONO RACCHIUSE IN UN'UNICA STRUTTURA CONCETTUALE SINTATTICA (VUOL DIRE

CHE CONCETTUALE SI INTENDE CHE SI PENSA GIÀ DURANTE LA PROGETTAZIONE) TUTTE LE

ISTRUZIONI POSSONO ESSERE VISIBILI O NO DALL'ESTERNO E VENGONO UTILIZZATE DA UN

“INTERFACCIA”, IL PROGRAMMATORE CHE VA AD UTILIZZARE UN OGGETTO DI UNA CLASSE

DEVE CONOSCERE LE PROPRIETÀ DELLA CLASSE E INSIEME DI ISTRUZIONI CHE AGISCONO

SULLE PROPRIETÀ (OBJ1.PRO=;

OPPURE OBJ1.METODO();)

INFORMATION HIDING: CI SI VA A PREOCCUPARE SOLO DEL INTERFACCIA SENZA

INTERESSARCI DELLA PARTE CHE STA DENTRO LA STRUTTURA (CLASSE)

EREDITARIETÀ: EREDITARIETÀ PARTE DA UN QUALCOSA DI GENERALE CHE POI RACCHIUDE

UNA SERIE DI CLASSI GENERALI CHE SI ARTICOLA IN TANTI CLASSI SPECIFICHE, PARTENDO

DALLE CARATTERISTICHE GENERALI CHE VENGONO EREDITATI DALLE CLASSI PIÙ SPECIFICHE

CON AGGIUNTA DI UN QUALCOSA DI SPECIFICO.

POLIMORFISMO: IL POLIMORFISMO È QUANDO LA SOTTOCLASSE EREDITA SOLO ALCUNI

METODI DELLA CLASSE PRINCIPALE. SERIE DI COMPORTAMENTI DOVUTI ALL’EREDITÀ DA UNA

CLASSE.

OVERLOAD: CAMBIAMENTO DEI PARAMETRI NELLA FIRMA DI UN METODO ( HA UNA FIRMA

DIVERSA). LO POSSO AVERE IN UNA GERARCHIA DI CLASSI E A DIFFERENZA DELL’OVERRIDING

LO POSSO AVERE ANCHE IN UNA CLASSE CHE NON È SOGGETTA AD UN EREDITARIETÀ.

OVERRIDING: RISCRITTURE DEL METODO SENZA CAMBIARNE LA FIRMA QUINDI IDENTICO E

RESTITUISCE LA STESSA COSA.

PER CAPIRE COSA DECIDERE TRA OVERLOAD E OVERRIDING SI MANDA IN ESECUZIONE IL

PROGRAMMA SI HA QUELLO CHE VIENE DEFINITO “BINDING DINAMICO” O “LATE BINDING”

OVVERO CHE CERTE DECISIONI VENGONO PRESE DURANTE ESECUZIONE DEL PROGRAMMA.

POSSO FARE AFFIANCAMENTO DI DUE FUNZIONI COMPLEMENTARI NELLA QUALE POSSO

SCEGLIERE QUALE USARE: SCEGLIENDO SE AFFIANCARE I DUE METODI O RISCRIVERLI IN

MANIERA DEFINITIVA.

QUANDO CREO UNA CLASSE = PROVA CLASSE();(ALLOCO AREA MEMORIA GRANDE QUANTO UN

INDIRIZZO DI MEMORIA)

QUANDO FACCIO LO NEW LO SPAZIO VA AD OCCUPARE LA GRANDEZZA DELLA TIPOLOGIA DI

DATO(ALLOCO). QUANDO IN STANZIO CI SARÀ UNA COPIA DI OGNI VARIABILE.

QUANDO DICHIARO UNA VARIABILE STATICA NON C'È UNA COPIA DI OGNI VARIABILE MA BENSÌ

UN'UNICA VARIABILE CHE RAPPRESENTA QUELLA TIPOLOGIA DI VARIABILE (CONDIVISO DA

TUTTI).

CI SONO DELLE CLASSI COMPLETAMENTE STATICHE -> HANNO TUTTO STATIC QUANDO LA

RICHIAMO QUANDO MI SERVE IN QUALSIASI PUNTO DEL PROGRAMMA.

UN METODO COSTRUTTORE STATICO È PER FORZA PRIVATO ->VIENE AUTOMATICAMENTE

RICHIAMATO QUANDO VIENE FATTO IL PRIMO ACCESSO AD UN MEMBRO STATICO DELLA CLASSE

LE CLASSI NON DIRETTAMENTE ISTANZIABILI HANNO I METODI COSTRUTTORI PRIVATI,PER

ISTANZIARE SI USA IL METODO FACTORY CHE E UN METODO STATICO INTERNO ALLA CLASSE

LE CLASSI CHE PERMETTONO DI ISTANZIARE UN SINGOLO OGGETTO SI CHIAMANO SINGLETON ,

CLASSI DINAMICA CHE CONTENGONO UN SINGOLO OGGETTO.

LE CLASSI ‘INDEXATE’ SONO DELLE CLASSI CHE DISPONGONO DI UN INDICE.

LE COMPOSIZIONI CONSISTONO NEL LEGARE LE CLASSI TRAMITE DEFINIZIONI CHE NON SI

TROVANO NELLO STESSO FILE, SE SI TROVANO NELLO STESSO FILE SI DICE COMPOSIZIONE

FORTE MENTRE L'ALTRA VIENE DETTA COMPOSIZIONE BREVE.