andreaprovaglio.com

Object-Oriented Programming

Stampato dal sito http://andreaprovaglio.com. Tutti i diritti riservati.

Area: Programming Paradigms
Piattaforma: Java Ruby Platform-agnostic
Giorni: 3
Codice: 101
Autore: Andrea Provaglio

Rivolto principalmente a sviluppatori provenienti dalla programmazione procedurale, questo corso fornisce allo studente una solida base sulla quale applicare efficacemente i concetti della programmazione e progettazione object-oriented.

Descrizione

Avvicinarsi ad un linguaggio object-oriented (OO) senza una solida comprensione dei concetti di fondo si rivela spesso un cattivo investimento. Ecco perché, dopo aver insegnato una notevole quantità di corsi C++, Java e Ruby, abbiamo realizzato questo corso, che si concentra più sulla mentalità object-oriented che sulla sintassi o sui tecnicismi. Riteniamo che questo corso sia un'ottima base per chiunque stia per avvicinarsi al primo linguaggio OO, e a volte anche per chi ha già avuto esperienze di programmazione OO o ha necessità di comunicare con programmatori OO.

Durante il corso vengono trattati i principi della programmazione OO, vengono fatti paralleli con altri paradigmi (inclusa la programmazione procedurale), viene visto perché la programmazione OO ha avuto così larga diffusione e quando potrebbe non essere la scelta migliore). Il corso fornisce anche cenni sull'analisi OO (OOA) e sul design OO (OOD).

Il corso prevede esempi di codice dal vivo ed esercizi, utilizzando Ruby come linguaggio di programmazione nella prima parte e Java nella seconda.

Circa il 30% del tempo viene dedicato ad esercitazioni guidate.

Contenuti

  • Vedere il vostro problema come popolato di Oggetti
  • Protocollo di un oggetto e lo sfuggente concetto di TIpo
  • Classi, Attributi, Operazioni
  • Ciclo di vita di un oggetto
  • Parlare agli oggetti: inviare messaggi
  • Metodi di oggetto e Metodi di classe
  • Incapsulamento e Information Hiding
  • La relazione "ha-un": Composizione
  • La relazione "è-un": Condividere una implementazione tramite ereditarietà
  • OOP in un linguaggio fortemente tipizzato (Java)
  • Polimorfismo
  • Significato e uso del casting in OOP
  • Interfacce e classi astratte
  • Cenni sui Design Pattern

Competenze trasmesse

  • Identificare classi nell'ambito del vostro problema
  • Assegnare responsabiità alle classi
  • Identificare attributi ed operazioni
  • Comprendere il ciclo di vita degli oggetti
  • Inviare messaggi e scrivere metodi per rispondervi
  • Comprendere il concetto di protocollo di un oggetto e di interfaccia
  • Comprendere i diversi significati dell'ereditarietà
  • Applicare efficacemente composizione, delegazione, ereditarietà e polimorfismo
  • Imparare le basi del design OO e dei Design Patterns

Note

Per ottenere il massimo risultato dalla partecipazione a questo corso, si consiglia una buona esperienza di programmazione in un linguaggio procedurale.

Per maggiori informazioni, vi invitiamo a contattarci.

Resta Informato!
Aggiornamenti
Sul palco di Agile Eastern Europe 2010
Sono alla conferenza AgileEE 2010 a Kiev, Ucraina, il 9 Ottobre 2010 con la mia presentazione "Beyond Agile"
Sul palco di WebExpo 2010
Sono alla conferenza WebExpo 2010 a Praga, Repubblica Ceca, il 25 Settembre 2010 con la mia presentazione "Beyond Agile"
Sul palco di DevCon 2010
Sono alla conferenza DevCon 2010 a Milano nei giorni 18-20 Maggio 2010 con la mia presentazione "Beyond Agile"
Sul palco di GeeCON 2010
Sono alla conferenza GeeCON 2010 a Cracovia, Polonia, nei giorni 13-14 Maggio 2010 con la mia presentazione "Beyond Agile"