Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Programmazione ad Oggetti per la Fisica
Laurea Magistrale in Fisica - Anno Accademico Prof. Giovanni Acampora
2
Obiettivi del Corso Fornire una conoscenza approfondita delle metodologie di progettazione e implementazione Object-Oriented per lo sviluppo di software; Fornire la conoscenza di un linguaggio di modellazione per sistemi Object-Oriented; Fornire la conoscenza di un linguaggio di programmazione Object-Oriented; Fornire una panoramica sulle possibili applicazioni scientifiche dei sistemi Object-Oriented;
3
Learning Outcomes Dopo aver seguito il corso e sostenuto l’esame, lo studente sarà in grado di: Progettare un sistema informatico utilizzando la metodologia OO; Implementare un sistema informatico utilizzando la metodologia OO; Analizzare e fornire un’analisi critica delle caretteristiche prestazionali e progettuali di un sistema informatico realizzato con tecniche OO. Applicare le metodologie di progettazione e implementazione OO a problemi scientifici.
4
Organizzazione del Corso
Titolare dell’insegnamento: Prof. Giovanni Acampora Durata del corso: Il corso prevede due lezioni settimanali, una lezione pratica e una lezione teorica; La lezione pratica comincerà le seconda settimana; La lezione del Lunedì sarà svolta in caso di necessità Modalità d’esame: Progetto Prof. Giovanni Acampora Studio: 2G16 (Dipartimento di Fisica “Ettore Pancini” Laboratorio: QUASAR (Quantum Computing and Smart Systems) – Edificio 8B, Piano -1 Telefono: Orario di Ricevimento:
5
Contenuti del Corso Object Oriented Analysis Object Oriented Design
Object Oriented Programming Notazione UML Linguaggio di Programmazione Python Programmazione Scientifica in Python Programmazione ad Oggetti in Python Introduzione al Machine Learning
6
Cerchiamo di capire di cosa stiamo parlando
Introduzione
7
Programma in C #include <stdio.h> main() { int i, numero = 1;
char[] squadra = “Napoli”; printf(“Hello World\n”); printf(“Valore di test: %d\n”, numero); printf(“Valore di squadra: %s”, squadra); if (test == 1) … ; else test = 20; for (i = 0; i < test; i++) … }
8
Paradigma di Programmazione Imperativo/Procedurale
Sequenza di istruzioni/comandi; Istruzioni raggruppate in moduli separati (le funzioni del C); Le istruzioni agiscono per modificare il valore di variabili; Le variabili rappresentano Ciascun modulo viene pensato per risolvere un particolare aspetto del problema;
9
Paradigma di Programmazione Imperativo/Procedurale
Metodologia di Analisi Top-Down Strutture di Controllo Sequenziali Condizionali Iterative
10
Gli oggetti Il mondo reale non è un’aggregazione di istruzioni e di dati; Oggetti tangibili/intangibili ci circondano e interagiscono tra loro; Gli oggetti che ci circondano sono caratterizzati da un proprio stato e da un proprio comportamento; Il comportamento di un oggetto ne modifica lo stato e gli consente l’interazione con altri oggetti.
11
Gli oggetti Un sistema nel paradigma orientato agli oggetti SISTEMA
12
(attributi di un oggetto)
Gli oggetti SISTEMA Insieme di entità Interagenti Oggetti Proprietà (attributi di un oggetto) azioni (metodi di un oggetto)
13
Gli oggetti Cambia la visione del problema e del modo con cui trattarlo… SISTEMA Algoritmo Sequenza Interazione
14
Gli oggetti
15
Object Oriented Analysis
Gli oggetti Object Oriented Analysis Object Oriented Design Object Oriented Programming Object Oriented Methodology
16
Object Oriented Analysis
Gli oggetti Object Oriented Analysis Nella progettazione orientata agli oggetti di sistemi complessi bisogna: Identificare gli oggetti componenti il sistema Per ciascun oggetto identificare: Metodi Proprietà Identificare il set di relazioni tra i diversi oggeti componenti il sistema What to do Si estraggono i cosiddetti requisiti del sistema
17
Object Oriented Design
Gli oggetti Object Oriented Design Nella progettazione orientata agli oggetti di sistemi complessi bisogna: Convertire i requisiti del sistema in una specifica implementiva Gli oggetti identificati nella prima fase vengono rappresentati in modo da essere implementati attraverso un linguaggio di programmazione (possibilmente OO) How to do
18
Object Oriented Programming
Gli oggetti Object Oriented Programming La specifica implementativa identificata al precedente step viene convertita in un programma scritto in un linguaggio di programmazione. Linguaggi Procedurali Linguaggi Object Oriented
19
Gli oggetti
21
Classi di oggetti Una classe è un costrutto di un linguaggio di programmazione usato come modello per creare oggetti. Il modello comprende attributi e metodi che saranno condivisi da tutti gli oggetti creati a partire dalla classe.
22
Diagramma delle classi
I diagrammi delle classi (class diagram) consentono di descrivere tipi di entità, con le loro caratteristiche e le eventuali relazioni fra questi tipi.
23
Diagramma degli oggetti
I diagrammi degli oggetti consentono di descrivere istanze di classi (oggetti) e relazioni: esso è un’istanza del diagramma delle classi.
24
Visibilità
25
Ereditarietà Classi nuove sono progettate sulla base di classi pre-esistenti Le nuove classi acquisiscono gli attributi e i comportamenti delle classi precedenti ed aggiungono caratteristiche nuove o raffinano caratteristiche pre-esistenti La classe precedente prende il nome di classe base e la classe che eredita prende il nome di classe derivata
26
Gerarchia di classi E’ possibile creare una classe che eredita a sua volta da una classe derivata Ripetendo questo procedimento si ottiene una gerarchia di classi
27
Gerarchia di classi Terminologia
28
Tipi di gerarchia Ereditarietà singola: la classe derivata eredita solo da una classe base Ereditarietà multipla: la classe derivata eredita da più classi base (anche fra di loro eterogenee)
29
Esempio
30
Tipi di gerarchia
31
Polimorfismo Overriding Polimorfismo Overloading
Indica la possibilità per i metodi di assumere forme diverse Overriding Polimorfismo Overloading
32
Overriding Indica la possibilità per i metodi di assumere forme diverse all’interno della gerarchia delle classi Un metodo nella classe base è ridefinito nella classe derivata Il comportamento definito nel metodo della classe base è mascherato dal comportamento del metodo ridefinito nella classe derivata.
33
Overloading Un metodo assume forme diverse nella stessa classe
34
Interazioni tra oggetti
35
Interazioni tra oggetti
36
Esempio
37
Metodologia di programmazione
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.