SlideShare a Scribd company logo
Principi della OOP Incapsulamento, information hiding, overloading
Origini e sviluppo OOP ,[object Object],[object Object],[object Object],[object Object],[object Object]
Evoluzione ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Applicazioni OOP ,[object Object],[object Object],[object Object],[object Object],[object Object]
Progettazione procedurale e OO ,[object Object],Il progetto è formato dal modello dei dati e dall’algoritmo risolutivo
Classe di oggetti ,[object Object],[object Object],[object Object],[object Object],[object Object]
Classi, attributi e metodi ,[object Object],[object Object]
Oggetto o istanza ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esempio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Test ,[object Object],[object Object],[object Object]
Metodi, attributi e stato ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Attività di lettura ,[object Object],[object Object],[object Object]
Linguaggio naturale  Equivalente Object Oriented  Risposta corretta Nomi concreti  Oggetti (entità del dominio)  Red, Toby   Nomi astratti  Classi (generalizzazione di oggetti di uno stesso tipo)  Animale   Verbi  Metodi o funzioni membro  si muove, ha fame, mangia, fa versi Proprietà Attributi  nome, colore, età  Valori delle proprietà  Stato  nome=Red colore=rosso età=3  nome=Toby colore=grigio età=4   
Incapsulamento ,[object Object],[object Object],[object Object],[object Object],[object Object]
Visibilità ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Information hiding ,[object Object],[object Object]
Modello dei dati incapsulato
Dichiarazione e implementazione di una classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Vantaggi interfaccia pubblica ,[object Object],[object Object],[object Object]
Visibilità della classe
Vantaggi incapsulamento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classe incapsulata ,[object Object],[object Object]
Esempio ,[object Object],[object Object],[object Object],[object Object]
La black box ,[object Object],[object Object],[object Object]
Il videogame Noi usiamo il videogame schiacciando dei pulsanti che attivano funzioni:  conosciamo e utilizziamo solo la sua interfaccia pubblica
Il telefono ,[object Object],[object Object],[object Object],[object Object]
Conto Corrente Bancario ,[object Object],[object Object],[object Object],[object Object]
Implementazione e segnatura ,[object Object],[object Object]
Implementazione dell’incapsulamento ,[object Object],[object Object],[object Object]
Definizione di classe senza rispettare il principio dell'incapsulamento Classe Auto (senza rispettare il principio dell’incapsulamento) Classe TestAuto  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definizione di classe rispettando il principio dell'incapsulamento Classe Auto incapsulata  Classe TestAuto ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overloading ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
L’operatore “+” ,[object Object],[object Object],[object Object],[object Object]
L’istruzione println ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esempio di implementazione di overloading ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

Viewers also liked

Media Evaluation - Question 6
Media Evaluation - Question 6Media Evaluation - Question 6
Media Evaluation - Question 6
HReevesMedia
 
How to use talkwheel
How to use talkwheelHow to use talkwheel
How to use talkwheel
Talkwheel
 
SEO Audits for DFWSEM State of Search
SEO Audits for DFWSEM State of Search SEO Audits for DFWSEM State of Search
SEO Audits for DFWSEM State of Search
Evolve Digital Labs
 
Time & Money
Time & MoneyTime & Money
Time & Money
Self Employed
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Luminary Labs
 

Viewers also liked (8)

Media Evaluation - Question 6
Media Evaluation - Question 6Media Evaluation - Question 6
Media Evaluation - Question 6
 
My wardrobe
My wardrobeMy wardrobe
My wardrobe
 
How to use talkwheel
How to use talkwheelHow to use talkwheel
How to use talkwheel
 
Presentación1
Presentación1Presentación1
Presentación1
 
SEO Audits for DFWSEM State of Search
SEO Audits for DFWSEM State of Search SEO Audits for DFWSEM State of Search
SEO Audits for DFWSEM State of Search
 
Time & Money
Time & MoneyTime & Money
Time & Money
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to Presentazione principi oop

Pensiero Orientato Agli Oggetti
Pensiero Orientato Agli OggettiPensiero Orientato Agli Oggetti
Pensiero Orientato Agli Oggetti
Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA
 
Job Finder
Job FinderJob Finder
Job Finder
beppe66
 
Job Finder
Job FinderJob Finder
Job Finderbeppe66
 
Job Finder
Job FinderJob Finder
Job Finderbeppe66
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
Matteo Valoriani
 
How I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven DesignHow I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven DesignAndrea Saltarello
 
Vb.net
 Vb.net Vb.net
Vb.net
ululallanotte
 
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Giuseppe Cramarossa
 
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Giuseppe Cramarossa
 
Lezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiLezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggetti
Giuseppe Cramarossa
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Paolo Sereno
 
Digital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NETDigital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NET
Marco Zamana
 
Rubynetto
RubynettoRubynetto
Rubynetto
Alessandro DS
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaDario Rusignuolo
 
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...
Meet Magento Italy
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3Ivano Luberti
 
Machine Learning - Breve panoramica
Machine Learning - Breve panoramicaMachine Learning - Breve panoramica
Machine Learning - Breve panoramica
Luca Naso
 
Zope zen
Zope zenZope zen
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java Base
K-Tech Formazione
 

Similar to Presentazione principi oop (20)

Pensiero Orientato Agli Oggetti
Pensiero Orientato Agli OggettiPensiero Orientato Agli Oggetti
Pensiero Orientato Agli Oggetti
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
Job Finder
Job FinderJob Finder
Job Finder
 
C#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivereC#, imparare a programmare e sopravvivere
C#, imparare a programmare e sopravvivere
 
How I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven DesignHow I did it (in .NET): idiomatic Domain Driven Design
How I did it (in .NET): idiomatic Domain Driven Design
 
Vb.net
 Vb.net Vb.net
Vb.net
 
Concetti Oo Classe
Concetti Oo ClasseConcetti Oo Classe
Concetti Oo Classe
 
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwpCorso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
Corso c# - Dalle basi del linguaggio alla creazione di un'applicazione uwp
 
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
Programmazione di applicazioni UWP - Dalle basi del C# alla creazione di un’a...
 
Lezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggettiLezione 10 - Programmazione ad oggetti
Lezione 10 - Programmazione ad oggetti
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
 
Digital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NETDigital 1nn0vation saturday pn 2019 - ML.NET
Digital 1nn0vation saturday pn 2019 - ML.NET
 
Rubynetto
RubynettoRubynetto
Rubynetto
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
 
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...
Manuel Toniato e Simone Caretta: Migliorare le performance di ricerca con Ela...
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
Machine Learning - Breve panoramica
Machine Learning - Breve panoramicaMachine Learning - Breve panoramica
Machine Learning - Breve panoramica
 
Zope zen
Zope zenZope zen
Zope zen
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java Base
 

Presentazione principi oop

  • 1. Principi della OOP Incapsulamento, information hiding, overloading
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Linguaggio naturale Equivalente Object Oriented Risposta corretta Nomi concreti Oggetti (entità del dominio) Red, Toby Nomi astratti Classi (generalizzazione di oggetti di uno stesso tipo) Animale Verbi Metodi o funzioni membro si muove, ha fame, mangia, fa versi Proprietà Attributi nome, colore, età Valori delle proprietà Stato nome=Red colore=rosso età=3 nome=Toby colore=grigio età=4  
  • 14.
  • 15.
  • 16.
  • 17. Modello dei dati incapsulato
  • 18.
  • 19.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Il videogame Noi usiamo il videogame schiacciando dei pulsanti che attivano funzioni: conosciamo e utilizziamo solo la sua interfaccia pubblica
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.