Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Linguaggidiprogrammazione

523 views

Published on

  • Be the first to comment

  • Be the first to like this

Linguaggidiprogrammazione

  1. 1. I linguaggi di programmazione Andrea Serafini I linguaggi di programmazione Cos’è un linguaggio di programmazione Didactics of Computer Science Sviluppo storico Macchina Assembly Alto livello Andrea Serafini Il processo di programmazione Compilazione Università degli Studi di Trento I paradigmi di programmazione Imperativo 20 Aprile 2012 Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di Fonti: dati Strutture di◮ J. Glenn Brookshear, Computer Science: An Overview, controllo Procedure e 11th edition, Addison-Wesley Pearson, 2012 funzioni Programmazione◮ Wikipedia - http://it.wikipedia.org orientata ad oggetti
  2. 2. Cos’è un linguaggio di programmazione I linguaggi di programmazione Andrea Serafini Cos’è un linguaggio di programmazioneUn linguaggio di programmazione è un linguaggio artificiale e Sviluppo storico Macchinaformale, dotato di un lessico, di una sintassi e di una Assembly Alto livellosemantica ben definiti, utilizzabile per la programmazione di Il processo diuna macchina attraverso la scrittura di un programma sotto programmazione Compilazioneforma di codice I paradigmi di programmazione Imperativo Dichiarativo FunzionaleLa programmazione può essere paragonata all’insegnamento: Orientato ad oggettiè come se il programmatore insegnasse˝al computer come Concetti base Variabili e tipi disvolgere un determinato compito, più o meno complesso dati Strutture di controllo Procedure e - Wikipedia - funzioni Programmazione orientata ad oggetti
  3. 3. Sviluppo storico I linguaggi di programmazioneLinguaggi di prima generazione: linguaggio macchina Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico I primi programmi consistevano in una sequenza di istruzioni Macchina codificate come cifre binarie attraverso un linguaggio Assembly Alto livello macchina, un linguaggio di prima generazione Il processo di programmazione Compilazione Scrivere programmi in linguaggio macchina risultava I paradigmi di programmazione complesso e spesso conduceva ad errori. Da qui la necessità Imperativo Dichiarativo di sviluppare linguaggi più vicini alla sensibilità umana e Funzionale Orientato ad oggetti facilmente convertibili in istruzioni macchina: Concetti base ◮ linguaggi di seconda generazione Variabili e tipi di dati Strutture di ◮ linguaggi di terza generazione controllo Procedure e funzioni Programmazione orientata ad oggetti
  4. 4. Sviluppo storico I linguaggi di programmazioneLinguaggi di seconda generazione: linguaggio assembly Andrea Serafini Negli anni ′ 40 furono sviluppati sistemi notazionali in cui le Cos’è un linguaggio di istruzioni venivano rappresentate in una forma mnemonica programmazione piuttosto che numerica: il linguaggio assembly Sviluppo storico Macchina Assembly Es: Sposta il contenuto del registro 5 nel registro 6˝ Alto livello Il processo di ◮ linguaggio macchina: 4056 programmazione Compilazione ◮ linguaggio assembly: MOV R5, R6 (identificatore) I paradigmi di programmazione Imperativo Furono creati programmi in grado di convertire le espressioni Dichiarativo Funzionale mnemoniche in istruzioni binarie di linguaggio macchina: Orientato ad oggetti assembler Concetti base Variabili e tipi di dati Svantaggi: Strutture di controllo Procedure e ◮ dipendenza dalla macchina funzioni Programmazione ◮ primitive di basso livello (istruzioni espresse in piccoli orientata ad oggetti passi)
  5. 5. Sviluppo storico I linguaggi di programmazioneLinguaggi di terza generazione: linguaggi di programmazione ad alto livello Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico A partire dagli anni ′ 50 furono sviluppati linguaggi di Macchina Assembly programmazione ad alto livello, che rispetto alle precedenti Alto livello generazioni avevano il vantaggio di: Il processo di programmazione ◮ essere indipendenti dalla macchina (istruzioni non Compilazione I paradigmi di dipendono dalle caratteristiche di una macchina programmazione particolare) Imperativo Dichiarativo Funzionale ◮ contenere primitive di alto livello (istruzioni espresse Orientato ad oggetti come successione di primitive di basso livello), da cui la Concetti base possibilità di introdurre anche strutture più generali e Variabili e tipi di dati più simili al linguaggio naturale Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  6. 6. Il processo di programmazione I linguaggi di programmazione Andrea Serafini Cos’è un linguaggio diProgrammare significa scrivere uno o più file di testo, programmazionechiamato codice sorgente, tramite un editor Sviluppo storico Macchina Assembly Alto livelloIl codice sorgente viene eseguito tramite Il processo di ◮ Compilazione o traduzione, ovvero il processo per cui il programmazione Compilazione codice sorgente viene tradotto in un codice binario I paradigmi di programmazione eseguibile (in linguaggio macchina) per mezzo di un Imperativo programma detto compilatore Dichiarativo Funzionale Orientato adoppure tramite oggetti Concetti base ◮ Interpretazione, ovvero il processo per cui il programma Variabili e tipi di dati viene eseguito da un interprete, traducendo in linguaggio Strutture di controllo macchina un’istruzione alla volta Procedure e funzioni Programmazione orientata ad oggetti
  7. 7. Il processo di compilazione I linguaggi di programmazione Andrea Serafini Cos’è un linguaggio di programmazione Il processo di compilazione consiste di 3 attività: Sviluppo storico Macchina Assembly ◮ analisi lessicale Alto livello Il processo di ◮ analisi sintattica programmazione Compilazione ◮ generazione del codice I paradigmi di programmazione Imperativo Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  8. 8. Il processo di compilazione I linguaggi di programmazioneAnalisi lessicale Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico L’analisi lessicale è il processo di divisione del programma Macchina Assembly Alto livello sorgente in piccole entità, i token, che rappresentano gli Il processo di elementi minimi del linguaggio, non ulteriormente divisibili programmazione Compilazione I paradigmi di L’analizzatore lessicale: programmazione Imperativo ◮ legge il codice sorgente simbolo per simbolo, Dichiarativo Funzionale identificando quali gruppi di simboli rappresentano dei Orientato ad oggetti token, classificandoli in base alla loro natura Concetti base Variabili e tipi di ◮ codifica i token e li consegna al parser dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  9. 9. Il processo di compilazione I linguaggi di programmazioneAnalisi sintattica Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico L’analisi sintattica o parsing è il processo di identificazione Macchina Assembly della struttura grammaticale del programma e di Alto livello Il processo di riconoscimento del ruolo dei token. Si basa su un insieme di programmazione regole che definiscono la sintassi del linguaggio di Compilazione I paradigmi di programmazione, chiamato grammatica. Tali regole vengono programmazione Imperativo espresse e rappresentate tramite diagrammi di sintassi Dichiarativo Funzionale Orientato ad oggetti Il risultato di questa fase è un albero di sintassi (parse tree), Concetti base che rappresenta l’interpretazione della composizione Variabili e tipi di dati grammaticale del programma Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  10. 10. Il processo di compilazione I linguaggi di programmazioneGenerazione del codice Andrea Serafini La generazione del codice è l’attività finale di costruzione Cos’è un linguaggio di delle istruzioni in linguaggio macchina per implementare i programmazione comandi riconosciuti dal parser. Un compito importante del Sviluppo storico Macchina generatore è l’ottimizzazione del codice Assembly Alto livello Il processo di programmazione Le 3 attività del processo di traduzione non vengono eseguite Compilazione secondo un rigido ordine sequenziale, ma interagiscono fra I paradigmi di programmazione loro Imperativo Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  11. 11. I paradigmi di programmazione I linguaggi di programmazione Andrea SerafiniI linguaggi di programmazione vengono classificati in base al Cos’è un linguaggio diparadigma di programmazione, ovvero l’approccio con cui programmazioneviene concepito il programma e l’insieme degli strumenti Sviluppo storico Macchinaconcettuali forniti dal linguaggio per la stesura dello stesso: Assembly Alto livello ◮ paradigma imperativo o procedurale Il processo di programmazione ◮ paradigma dichiarativo Compilazione ◮ paradigma funzionale I paradigmi di programmazione Imperativo ◮ paradigma orientato ad oggetti Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  12. 12. I paradigmi di programmazione I linguaggi di programmazioneParadigma imperativo Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico Macchina Assembly Alto livello Il paradigma imperativo rappresenta l’approccio tradizionale Il processo di al processo di programmazione, definendolo come lo sviluppo programmazione Compilazione di una successione di comandi che manipolano i dati per I paradigmi di produrre il risultato desiderato programmazione Imperativo Dichiarativo Funzionale L’obiettivo è quindi cercare un algoritmo per risolvere il Orientato ad oggetti problema ed esprimerlo con opportuni comandi Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  13. 13. I paradigmi di programmazione I linguaggi di programmazioneParadigma imperativo Andrea Serafini Cos’è un linguaggio di ◮ C: creato da Dennis Ritchie nei primi anni ′ 70 programmazione originariamente come linguaggio per sviluppare software Sviluppo storico di sistema, trovò presto popolarità fra la comunità di Macchina Assembly Alto livello programmatori per il suo minimalismo Il processo di ◮ FORTRAN (FORmula TRANslator): uno dei primi programmazione Compilazione linguaggi ad alto livello (1957), diffuso soprattutto in I paradigmi di ambito scientifico e ingegneristico programmazione Imperativo Dichiarativo ◮ COBOL (COmmon Business-Oriented Language): Funzionale Orientato ad sviluppato agli inizi degli anni ′ 60 dalla U.S.Navy per oggetti applicazioni commerciali Concetti base Variabili e tipi di dati ◮ Ada: linguaggio general-purpose, sviluppato verso la fine Strutture di controllo degli anni ′ 70 su iniziativa del Dipartimento della Difesa Procedure e funzioni degli USA Programmazione orientata ad ◮ Pascal: molto diffuso a livello scolastico oggetti
  14. 14. I paradigmi di programmazione I linguaggi di programmazioneParadigma dichiarativo Andrea Serafini Cos’è un linguaggio di programmazione Compito del programmatore è dare una formulazione precisa Sviluppo storico del problema, piuttosto che sviluppare un algoritmo per Macchina Assembly risolverlo. Sarà il sistema di programmazione dichiarativa ad Alto livello applicare un algoritmo prestabilito Il processo di programmazione Compilazione Si basa sul fatto che la logica formale matematica fornisce I paradigmi di programmazione algoritmi risolutivi, adatti per i sistemi di programmazione Imperativo Dichiarativo dichiarativa. Da qui lo sviluppo della programmazione logica Funzionale Orientato ad oggetti ◮ Prolog (PROgramming in LOGic): un programma Concetti base consiste in una collezione di istruzioni iniziali (predicati) Variabili e tipi di dati a partire dalle quali l’algoritmo applica il ragionamento Strutture di controllo Procedure e deduttivo (regole inferenziali) funzioni Programmazione orientata ad oggetti
  15. 15. I paradigmi di programmazione I linguaggi di programmazioneParadigma funzionale Andrea Serafini Cos’è un linguaggio di programmazione Un programma è visto come un’entità che accetta input e Sviluppo storico produce output, come una funzione matematica. É costruito Macchina Assembly connettendo unità di programma predefinite più piccole, tali Alto livello che gli output di ogni unità siano input di un’altra unità, Il processo di programmazione ottenendo la relazione complessiva di input-output Compilazione desiderata. Il processo di programmazione funzionale consiste I paradigmi di programmazione pertanto nella costruzione di funzioni come composizione di Imperativo Dichiarativo funzioni più semplici Funzionale Orientato ad oggetti ◮ LISP (LISt Processor): ideato nel 1958 da John Concetti base McCarthy come linguaggio formale per studiare le Variabili e tipi di dati Strutture di equazioni di ricorsione in un modello computazionale, controllo Procedure e molto usato nei progetti di intelligenza artificiale funzioni Programmazione orientata ad oggetti
  16. 16. I paradigmi di programmazione I linguaggi di programmazioneParadigma orientato ad oggetti Andrea Serafini Cos’è un Un programma è visto come una collezione di unità, linguaggio di programmazione chiamate oggetti, caratterizzate da un insieme di attributi e Sviluppo storico di procedure, chiamate metodi, che descrivono le attività Macchina Assembly eseguibili e il comportamento dell’oggetto al verificarsi di vari Alto livello Il processo di eventi. Ogni oggetto è in grado di comunicare con gli altri e programmazione tale interazione è alla base della risoluzione dei problemi Compilazione I paradigmi di programmazione Imperativo L’approccio orientato ad oggetti consiste nell’identificare gli Dichiarativo Funzionale oggetti coinvolti nel programma e nel descriverli come unità Orientato ad oggetti autosufficienti Concetti base Variabili e tipi di dati La modellizzazione astratta di un oggetto con i suoi attributi Strutture di controllo e i suoi metodi prende il nome di classe. Un oggetto è creato Procedure e funzioni a partire da una particolare classe e si chiama istanza di Programmazione orientata ad quella classe oggetti
  17. 17. I paradigmi di programmazione I linguaggi di programmazioneParadigma orientato ad oggetti Andrea Serafini Cos’è un La struttura di un programma orientato ad oggetti contiene linguaggio di programmazione la descrizione delle classi, che modellizzano uno o più oggetti Sviluppo storico utilizzati nel programma. Esiste inoltre una parte imperativa Macchina Assembly di programma, il main, contenente la sequenza di passi da Alto livello eseguire quando il programma viene compilato Il processo di programmazione Compilazione I paradigmi di programmazione Imperativo Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  18. 18. I paradigmi di programmazione I linguaggi di programmazioneParadigma orientato ad oggetti Andrea Serafini Cos’è un linguaggio di ◮ C++: sviluppato nel 1983 come versione avanzata del programmazione linguaggio C, modificando il suo paradigma imperativo Sviluppo storico Macchina con caratteristiche orientate ad oggetti Assembly Alto livello ◮ Java: sviluppato da Sun Microsystems agli inizi degli Il processo di programmazione anni ′ 90 a partire dal C++, apprezzato per i numerosi Compilazione modelli predefiniti I paradigmi di programmazione ◮ C# (C sharp): introdotto da Microsoft all’interno del Imperativo Dichiarativo Funzionale Framework .NET, molto simile al C++ e al Java, Orientato ad oggetti promette di diventare preminente nel mondo dello Concetti base sviluppo del software Variabili e tipi di dati Strutture di ◮ Visual Basic: creato da Microsoft per permettere agli controllo Procedure e utenti del sistema operativo Windows di sviluppare funzioni Programmazione applicazioni GUI (Graphical User Interface) orientata ad oggetti
  19. 19. Concetti base I linguaggi di programmazioneStruttura di un programma Andrea Serafini Cos’è un Un programma consiste in una collezione di istruzioni, divise linguaggio di programmazione in 3 categorie: Sviluppo storico ◮ istruzioni dichiarative: descrivono i dati utilizzati Macchina Assembly all’interno del programma Alto livello Il processo di ◮ istruzioni imperative: descrivono i passaggi programmazione Compilazione dell’algoritmo da eseguire I paradigmi di programmazione ◮ commenti: spiegano il programma, migliorandone la Imperativo Dichiarativo leggibilità (/*. . . /* oppure // . . . ) Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  20. 20. Concetti base I linguaggi di programmazioneVariabili e tipi di dati Andrea Serafini Cos’è un Una variabile identifica una locazione in memoria destinata a linguaggio di contenere dei dati, che possono essere modificati nel corso programmazione Sviluppo storico dell’esecuzione del programma. Per questo motivo ogni Macchina variabile è caratterizzata da un tipo di dato, che indica Assembly Alto livello l’insieme di valori che essa può assumere e le operazioni che Il processo di programmazione si possono effettuare su di essi. Una volta dichiarate, è Compilazione possibile assegnare alle variabili un valore iniziale I paradigmi di programmazione ◮ tipi primitivi Imperativo Dichiarativo int Costo = 100; Funzionale ◮ numerici: integer, float Orientato ad oggetti ◮ caratteri: char, string Concetti base ◮ booleani Variabili e tipi di dati ◮ tipi derivati Strutture di controllo struct {char Nome[25]; Procedure e ◮ strutture dati: array funzioni (omogenea) e record int Età; Programmazione (eterogenea) float Peso;} orientata ad oggetti ◮ classi Atleta;
  21. 21. Concetti base I linguaggi di programmazioneVariabili e costanti Andrea Serafini Una caratteristica importante di una variabile è la sua Cos’è un linguaggio di visibilità (o scope), ovvero la porzione di programma in cui è programmazione possibile richiamarla e fare riferimento ad essa. Possiamo Sviluppo storico Macchina distinguere 2 categorie: Assembly Alto livello ◮ variabili globali: visibili da qualunque punto del Il processo di programmazione programma Compilazione ◮ variabili locali: visibili solo all’interno di una determinata I paradigmi di programmazione parte di programma Imperativo Dichiarativo Funzionale Orientato ad oggetti A differenza della variabile, una costante è una posizione di Concetti base memoria che mantiene lo stesso valore per tutta la durata Variabili e tipi di dati Strutture di dell’esecuzione del programma controllo Procedure e Es: funzioni Programmazione orientata ad cost float pi = 3.14; oggetti
  22. 22. Concetti base I linguaggi di programmazioneStrutture di controllo Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico Le strutture di controllo permettono di governare il flusso di Macchina esecuzione del programma, alterandolo in base al risultato o Assembly Alto livello valutazione di una espressione Il processo di programmazione Compilazione Il goto è la struttura di controllo più semplice, il cui I paradigmi di programmazione significato generale è quello di indirizzare il controllo ad una Imperativo istruzione specificata, che può trovarsi in un punto qualsiasi Dichiarativo Funzionale del programma Orientato ad oggetti A partire dagli anni ′ 70, il goto è stato fortemente criticato, Concetti base Variabili e tipi di in quanto favorisce lo sviluppo di programmi poco leggibili e dati Strutture di modificabili, e sostituito da strutture più efficienti controllo Procedure e funzioni Programmazione orientata ad oggetti
  23. 23. Concetti base I linguaggi di programmazioneStrutture di controllo Andrea Serafini Cos’è un linguaggio di programmazione Sviluppo storico Macchina ◮ Cicli iterativi: ripetizione di una sequenza di azioni Assembly Alto livello fintanto che una certa condizione viene verificata Il processo di programmazione Compilazione ◮ while I paradigmi di programmazione while (condizione) Imperativo {corpo del ciclo} Dichiarativo Funzionale ◮ for Orientato ad oggetti for (int i=1; i<n; i++) Concetti base Variabili e tipi di {corpo del ciclo} dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  24. 24. Concetti base I linguaggi di programmazioneStrutture di controllo Andrea Serafini Cos’è un linguaggio di programmazione ◮ Strutture condizionali: esecuzione di un blocco di Sviluppo storico Macchina istruzioni se vale una certa condizione Assembly Alto livello Il processo di ◮ if-then-else programmazione Compilazione if (condizione) then {istruzione A} I paradigmi di else {istruzione B} programmazione ◮ switch-case: permette di scegliere un’istruzione tra Imperativo Dichiarativo diverse opzioni Funzionale Orientato ad oggetti switch (variabile) { Concetti base case ’A’: istruzione A; break; Variabili e tipi di dati case ’B’: istruzione B; break; Strutture di controllo case ’C’: istruzione C; break; Procedure e funzioni default: istruzione D} Programmazione orientata ad oggetti
  25. 25. Concetti base I linguaggi di programmazioneProcedure Andrea Serafini Cos’è un linguaggio di Una procedura è un costrutto che permette di raggruppare, programmazione in un unico blocco, una sequenza di istruzioni utili a svolgere Sviluppo storico Macchina un determinato compito. É importante perché può essere Assembly Alto livello chiamata˝(o invocata˝) ogni volta in cui si ha la necessità, Il processo di come se fosse una singola istruzione programmazione Compilazione I paradigmi di programmazione Imperativo Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti
  26. 26. Concetti base I linguaggi di programmazioneProcedure Andrea Serafini Una procedura si scrive come una singola unità di Cos’è un linguaggio di programma: programmazione ◮ nome della procedura - header (parametri) Sviluppo storico Macchina ◮ corpo della procedura: parte dichiarativa e imperativa Assembly Alto livello Il processo di programmazione Compilazione I paradigmi di programmazione Imperativo Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni Programmazione orientata ad oggetti ProjectPopulation(0.03)
  27. 27. Concetti base I linguaggi di programmazioneFunzioni Andrea Serafini Cos’è un Una funzione è una procedura il cui scopo è quello di linguaggio di programmazione restituire un valore, piuttosto che di svolgere un’azione. Sviluppo storico Come conseguenza dell’esecuzione di una funzione, viene Macchina Assembly calcolato un valore e rispedito indietro al programma che l’ha Alto livello invocata Il processo di programmazione Compilazione I paradigmi di É definita allo stesso modo programmazione Imperativo di una procedura, con la Dichiarativo Funzionale differenza che l’header di Orientato ad oggetti solito inizia specificando il Concetti base Variabili e tipi di tipo del valore da restituire dati Strutture di e termina con un’istruzione controllo Procedure e funzioni (return) in cui è indicato Programmazione il valore CylinderVolume(1.5,4) orientata ad oggetti = 28.26
  28. 28. Programmazione orientata ad oggetti I linguaggi di programmazioneEsempio di programma Andrea Serafini Es: Gioco del laser: proteggere la Terra dai meteoriti˝ Cos’è un linguaggio di programmazione Sviluppo storico Macchina Assembly Alto livello Il processo di programmazione Compilazione I paradigmi di programmazione Imperativo Dichiarativo Una volta descritta la classe LaserClass, possiamo Funzionale Orientato ad dichiarare variabili di tale tipo e creare oggetti oggetti Concetti base Variabili e tipi di C++: LaserClass Laser1; dati Strutture di Java: LaserClass Laser1 = new LaserClass(); controllo Procedure e funzioni Possiamo richiamare metodi di tali oggetti Programmazione orientata ad oggetti Laser1.fire(); Laser1.turnLeft();
  29. 29. Programmazione orientata ad oggetti I linguaggi di programmazioneCostruttori Andrea Serafini Cos’è un linguaggio di programmazione Esistono metodi speciali Sviluppo storico associati alle classi che Macchina hanno lo scopo di creare le Assembly Alto livello istanze e di inizializzarle Il processo di programmazione durante il processo di Compilazione creazione: i costruttori I paradigmi di programmazione Imperativo Dichiarativo Funzionale I costruttori vengono eseguiti automaticamente quando un Orientato ad oggetti oggetto è costruito a partire da una classe, passando i Concetti base parametri in entrata Variabili e tipi di dati Strutture di controllo Procedure e C++: LaserClass Laser1(50); funzioni Java: LaserClass Laser1 = new LaserClass(50); Programmazione orientata ad oggetti
  30. 30. Programmazione orientata ad oggetti I linguaggi di programmazioneAltre proprietà Andrea Serafini L’ereditarietà è una tecnica che consiste nel derivare una Cos’è un linguaggio di classe a partire da un’altra già definita (extends). Una programmazione classe derivata, detta sottoclasse, mantiene i metodi e gli Sviluppo storico Macchina attributi della classe da cui deriva, chiamata superclasse; Assembly Alto livello inoltre, può definirne di propri. Si tratta di una relazione di Il processo di generalizzazione-specificazione: la superclasse definisce un programmazione Compilazione concetto generale e la sottoclasse ne rappresenta una I paradigmi di programmazione variante specifica Imperativo Dichiarativo Funzionale Orientato ad oggetti Concetti base Variabili e tipi di dati Strutture di controllo Procedure e funzioni L’incapsulamento si riferisce all’accesso ristretto alle proprietà Programmazione interne di un oggetto: solo l’oggetto stesso può accedervi orientata ad oggetti (private vs public)

×