SlideShare uma empresa 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]

Mais conteúdo relacionado

Mais procurados

OOP-Advanced Programming with c++
OOP-Advanced Programming with c++OOP-Advanced Programming with c++
OOP-Advanced Programming with c++
Mohamed Essam
 
Advanced Javascript
Advanced JavascriptAdvanced Javascript
Advanced Javascript
Adieu
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
backdoor
 

Mais procurados (20)

OOP with C#
OOP with C#OOP with C#
OOP with C#
 
[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)
 
OOP-Advanced Programming with c++
OOP-Advanced Programming with c++OOP-Advanced Programming with c++
OOP-Advanced Programming with c++
 
Classes, Objects and Method - Object Oriented Programming with Java
Classes, Objects and Method - Object Oriented Programming with JavaClasses, Objects and Method - Object Oriented Programming with Java
Classes, Objects and Method - Object Oriented Programming with Java
 
Python Collections
Python CollectionsPython Collections
Python Collections
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Access modifiers in java
Access modifiers in javaAccess modifiers in java
Access modifiers in java
 
Java class,object,method introduction
Java class,object,method introductionJava class,object,method introduction
Java class,object,method introduction
 
Advanced Javascript
Advanced JavascriptAdvanced Javascript
Advanced Javascript
 
Object Oriented Programming Concepts using Java
Object Oriented Programming Concepts using JavaObject Oriented Programming Concepts using Java
Object Oriented Programming Concepts using Java
 
Polymorphism in java
Polymorphism in javaPolymorphism in java
Polymorphism in java
 
Object Oriented Programming with C#
Object Oriented Programming with C#Object Oriented Programming with C#
Object Oriented Programming with C#
 
Corso pratico di C# - 2013
Corso pratico di C# - 2013Corso pratico di C# - 2013
Corso pratico di C# - 2013
 
C# Inheritance
C# InheritanceC# Inheritance
C# Inheritance
 
C++ - Constructors,Destructors, Operator overloading and Type conversion
C++ - Constructors,Destructors, Operator overloading and Type conversionC++ - Constructors,Destructors, Operator overloading and Type conversion
C++ - Constructors,Destructors, Operator overloading and Type conversion
 
JavaScript Basics
JavaScript BasicsJavaScript Basics
JavaScript Basics
 
Css selectors
Css selectorsCss selectors
Css selectors
 
Constructor and Destructor in c++
Constructor  and Destructor in c++Constructor  and Destructor in c++
Constructor and Destructor in c++
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 
CLASS & OBJECT IN JAVA
CLASS & OBJECT  IN JAVACLASS & OBJECT  IN JAVA
CLASS & OBJECT IN JAVA
 

Semelhante a Presentazione primi principi oop

Pycon Jungle
Pycon JunglePycon Jungle
Pycon Jungle
guest6b08a5
 

Semelhante 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

Último (10)

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
 
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
 
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
 
Lo Schema Diapositiva con LibreOffice Impress
Lo Schema Diapositiva con LibreOffice ImpressLo Schema Diapositiva con LibreOffice Impress
Lo Schema Diapositiva con LibreOffice Impress
 
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...
 
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
 
Stati Uniti PPT geografia power point..
Stati Uniti  PPT geografia power point..Stati Uniti  PPT geografia power point..
Stati Uniti PPT geografia power point..
 
Powerpoint tesi di laurea
Powerpoint tesi di laurea Powerpoint tesi di laurea
Powerpoint tesi di laurea
 
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
 
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.