SlideShare una empresa de Scribd logo
1 de 41
Primi 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   
Creazione di istanze e costruttori ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operatore new ,[object Object],[object Object],[object Object],[object Object],[object Object]
Riferimento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Esempio: classe Auto ,[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]
Creare istanze ,[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]
Accedere agli attributi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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]
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]

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Class or Object
Class or ObjectClass or Object
Class or Object
 
Python programming : Abstract classes interfaces
Python programming : Abstract classes interfacesPython programming : Abstract classes interfaces
Python programming : Abstract classes interfaces
 
CSS
CSSCSS
CSS
 
Understanding XML DOM
Understanding XML DOMUnderstanding XML DOM
Understanding XML DOM
 
Ado.Net Tutorial
Ado.Net TutorialAdo.Net Tutorial
Ado.Net Tutorial
 
XML Schema
XML SchemaXML Schema
XML Schema
 
JavaScript: Variables and Functions
JavaScript: Variables and FunctionsJavaScript: Variables and Functions
JavaScript: Variables and Functions
 
HTML Fundamentals
HTML FundamentalsHTML Fundamentals
HTML Fundamentals
 
Constructor and destructor
Constructor  and  destructor Constructor  and  destructor
Constructor and destructor
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
 
Object oriented programming With C#
Object oriented programming With C#Object oriented programming With C#
Object oriented programming With C#
 
JavaScript & Dom Manipulation
JavaScript & Dom ManipulationJavaScript & Dom Manipulation
JavaScript & Dom Manipulation
 
Pure virtual function and abstract class
Pure virtual function and abstract classPure virtual function and abstract class
Pure virtual function and abstract class
 
Class 5 - PHP Strings
Class 5 - PHP StringsClass 5 - PHP Strings
Class 5 - PHP Strings
 
Javascript and DOM
Javascript and DOMJavascript and DOM
Javascript and DOM
 
Css borders
Css bordersCss borders
Css borders
 
JQuery selectors
JQuery selectors JQuery selectors
JQuery selectors
 
String handling in_java
String handling in_javaString handling in_java
String handling in_java
 
OOP with C#
OOP with C#OOP with C#
OOP with C#
 
Data types and operators in vb
Data types and operators  in vbData types and operators  in vb
Data types and operators in vb
 

Similar a Presentazione primi principi oop

Presentazione principi oop
Presentazione principi oopPresentazione principi oop
Presentazione principi oopgcorreddu
 
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...Codemotion
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQueryXeDotNet
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con ScalaFranco Lombardo
 
Django: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàDjango: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàskam
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8Valerio Radice
 
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-delegatePaolo Sereno
 
CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)Matteo Ziviani
 
DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)Alessandro Giorgetti
 

Similar a Presentazione primi principi oop (14)

Presentazione principi oop
Presentazione principi oopPresentazione principi oop
Presentazione principi oop
 
Rubynetto
RubynettoRubynetto
Rubynetto
 
Java lezione 4
Java lezione 4Java lezione 4
Java lezione 4
 
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Pycon Jungle
Pycon JunglePycon Jungle
Pycon Jungle
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
 
Django: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàDjango: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalità
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8
 
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
 
CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)CSS corso base (classi seconde, mod 1)
CSS corso base (classi seconde, mod 1)
 
DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)DNM19 Sessione2 Orchard Temi e Layout (Ita)
DNM19 Sessione2 Orchard Temi e Layout (Ita)
 
Lezione N 3
Lezione N 3Lezione N 3
Lezione N 3
 
Mini Corso Java - Parte 2
Mini Corso Java - Parte 2Mini Corso Java - Parte 2
Mini Corso Java - Parte 2
 

Último

AccessibleEU: oggi per l’accessibilità di domani
AccessibleEU: oggi per l’accessibilità di domaniAccessibleEU: oggi per l’accessibilità di domani
AccessibleEU: oggi per l’accessibilità di domaniRoberto Scano
 
Lo Schema Diapositiva con LibreOffice Impress
Lo Schema Diapositiva con LibreOffice ImpressLo Schema Diapositiva con LibreOffice Impress
Lo Schema Diapositiva con LibreOffice ImpressSalvatore Cianciabella
 
Powerpoint tesi di laurea
Powerpoint tesi di laurea Powerpoint tesi di laurea
Powerpoint tesi di laurea Valentina Ottini
 
Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...
Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...
Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...Roberto Scano
 
Stati Uniti PPT geografia power point..
Stati Uniti  PPT geografia power point..Stati Uniti  PPT geografia power point..
Stati Uniti PPT geografia power point..vendettimattia2010
 
Ticonzero news 149.pdf, maggio 2024, content
Ticonzero news 149.pdf, maggio 2024, contentTiconzero news 149.pdf, maggio 2024, content
Ticonzero news 149.pdf, maggio 2024, contentPierLuigi Albini
 
a scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCO
a scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCOa scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCO
a scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCODamiano Orru
 
MyEdu Club: il magazine di MyEdu dedicato ai genitori
MyEdu Club: il magazine di MyEdu dedicato ai genitoriMyEdu Club: il magazine di MyEdu dedicato ai genitori
MyEdu Club: il magazine di MyEdu dedicato ai genitorimarketing983206
 
Transizione Energetica e Cooperazione: non solo CER
Transizione Energetica e Cooperazione: non solo CERTransizione Energetica e Cooperazione: non solo CER
Transizione Energetica e Cooperazione: non solo CERANCI - Emilia Romagna
 
Ostia antica da porta di Roma a porta d'Europa
Ostia antica da porta di Roma a porta d'EuropaOstia antica da porta di Roma a porta d'Europa
Ostia antica da porta di Roma a porta d'EuropaMarina Lo Blundo
 
No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...
No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...
No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...Roberto Scano
 

Último (11)

AccessibleEU: oggi per l’accessibilità di domani
AccessibleEU: oggi per l’accessibilità di domaniAccessibleEU: oggi per l’accessibilità di domani
AccessibleEU: oggi per l’accessibilità di domani
 
Lo Schema Diapositiva con LibreOffice Impress
Lo Schema Diapositiva con LibreOffice ImpressLo Schema Diapositiva con LibreOffice Impress
Lo Schema Diapositiva con LibreOffice Impress
 
Powerpoint tesi di laurea
Powerpoint tesi di laurea Powerpoint tesi di laurea
Powerpoint tesi di laurea
 
Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...
Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...
Accessibilità, tra miti e realtà: gli errori da non compiere e le azioni da i...
 
Stati Uniti PPT geografia power point..
Stati Uniti  PPT geografia power point..Stati Uniti  PPT geografia power point..
Stati Uniti PPT geografia power point..
 
Ticonzero news 149.pdf, maggio 2024, content
Ticonzero news 149.pdf, maggio 2024, contentTiconzero news 149.pdf, maggio 2024, content
Ticonzero news 149.pdf, maggio 2024, content
 
a scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCO
a scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCOa scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCO
a scuola di biblioVerifica: come utilizzare CHATBOT secondo UNESCO
 
MyEdu Club: il magazine di MyEdu dedicato ai genitori
MyEdu Club: il magazine di MyEdu dedicato ai genitoriMyEdu Club: il magazine di MyEdu dedicato ai genitori
MyEdu Club: il magazine di MyEdu dedicato ai genitori
 
Transizione Energetica e Cooperazione: non solo CER
Transizione Energetica e Cooperazione: non solo CERTransizione Energetica e Cooperazione: non solo CER
Transizione Energetica e Cooperazione: non solo CER
 
Ostia antica da porta di Roma a porta d'Europa
Ostia antica da porta di Roma a porta d'EuropaOstia antica da porta di Roma a porta d'Europa
Ostia antica da porta di Roma a porta d'Europa
 
No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...
No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...
No. Nessuno strumento automatico verifica o ripara l’accessibilità di un sito...
 

Presentazione primi principi oop

  • 1. Primi 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.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Modello dei dati incapsulato
  • 24.
  • 25.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. Il videogame Noi usiamo il videogame schiacciando dei pulsanti che attivano funzioni: conosciamo e utilizziamo solo la sua interfaccia pubblica
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.