Dopo una piccola introduzione al linguaggio Groovy, dove verranno illustrate brevemente alcune peculiarità, si passerà ad esaminare le caratteristiche che lo rendono adatto per la generazione di DSL.
Verrà quindi presentato come caso pratico la costruzione di una DSL e sarà mostrato come è possibile embeddarla in un progetto Java.
This document provides an introduction to unit testing and design patterns in Java. It discusses the value of unit testing in improving code quality and safety. It defines what a design pattern is, including different types of patterns like creational, structural, and behavioral patterns. It also gives examples of some basic patterns like Singleton and Iterator. The document is intended to provide an overview of these important concepts in software design.
This document discusses building Java applications. It explains that all Java programs are built from classes, which contain fields to store data and methods to operate on that data. Every application needs a main class with a main method, which acts as the entry point for the program. The main method executes first when the program starts. The document provides an example of a simple Java application class with a main method that prints a string to the console. It describes how instances of a class are used to acquire and work with data, while the class describes the data and behavior.
Il corso consente ai partecipanti di apprendere la sintassi del linguaggio di programmazione Java, la programmazione orientata agli oggetti con Java, la creazione di interfacce grafiche utente (GUI), la gestione delle eccezioni, le funzionalità di I/O per i file, i thread e le funzioni di rete. I programmatori che già hanno familiarità con i concetti della programmazione object-oriented potranno imparare a sviluppare applicazioni Java. I contenuti fanno riferimento alla piattaforma Java Platform, Standard Edition 6 (Java SE 6) e al prodotto Java SE Development Kit 6 (JDK 6). Le esercitazioni pratiche prevedono l'uso dell'IDE (Integrated Development Environment) NetBeans 5.5.
The course aims to provide you with an understanding of the fundamental concepts involved in object-oriented programming (object, class, protocol, hierarchy, inheritance, encapsulation, polymorphism and collaboration).
The programming language you will use is Java. However, the purpose of the course is not to teach you the minutiae of the Java language, but rather to teach you fundamental object-oriented programming concepts and skills that will be transferable to any object¬ oriented language
Programmazione a oggetti tramite la macchina del caffé (1/3)Marcello Missiroli
Una introduzione semplice e (spero) intuitiva al mondo della programmazione a oggetti usando come riferimento una macchina del caffé (tipo Nespresso) (1/3)
Versione 2: tolto qualche refuso, aggiunto un paio di slide chairificatori.
Il Corso Programmazione Java Base di K-Tech (http://www.k-tech.it) ha come obiettivo quello di far comprendere le tecniche di programmazione orientata agli oggetti, cioè di modellare e “pensare” a oggetti, di trasmettere i concetti base del linguaggio e le basi per sviluppare piccole applicazioni in modo autonomo.
Il corso Programmazione Java Base è composto da dodici moduli:
1. Introduzione
2. Ciclo di sviluppo
3. Sintassi Elementare
4. Principi OOP
5. Classi e Oggetti
6. Concetti Object Oriented
7. Collections
8. Eccezioni
9. Input Output
10. Serialization
11. Unit Testing
12. Threads
Leggi il programma completo: http://www.k-tech.it/formazione/catalogo/programmazione_java_base
Questo progetto ha come argomento principale la "Domotica" e consiste nel controllo di un dispositivo elettrico a distanza attraverso il protocollo HTTP appoggiandosi sulla piattaforma Open Source Arduino.
Dopo una piccola introduzione al linguaggio Groovy, dove verranno illustrate brevemente alcune peculiarità, si passerà ad esaminare le caratteristiche che lo rendono adatto per la generazione di DSL.
Verrà quindi presentato come caso pratico la costruzione di una DSL e sarà mostrato come è possibile embeddarla in un progetto Java.
This document provides an introduction to unit testing and design patterns in Java. It discusses the value of unit testing in improving code quality and safety. It defines what a design pattern is, including different types of patterns like creational, structural, and behavioral patterns. It also gives examples of some basic patterns like Singleton and Iterator. The document is intended to provide an overview of these important concepts in software design.
This document discusses building Java applications. It explains that all Java programs are built from classes, which contain fields to store data and methods to operate on that data. Every application needs a main class with a main method, which acts as the entry point for the program. The main method executes first when the program starts. The document provides an example of a simple Java application class with a main method that prints a string to the console. It describes how instances of a class are used to acquire and work with data, while the class describes the data and behavior.
Il corso consente ai partecipanti di apprendere la sintassi del linguaggio di programmazione Java, la programmazione orientata agli oggetti con Java, la creazione di interfacce grafiche utente (GUI), la gestione delle eccezioni, le funzionalità di I/O per i file, i thread e le funzioni di rete. I programmatori che già hanno familiarità con i concetti della programmazione object-oriented potranno imparare a sviluppare applicazioni Java. I contenuti fanno riferimento alla piattaforma Java Platform, Standard Edition 6 (Java SE 6) e al prodotto Java SE Development Kit 6 (JDK 6). Le esercitazioni pratiche prevedono l'uso dell'IDE (Integrated Development Environment) NetBeans 5.5.
The course aims to provide you with an understanding of the fundamental concepts involved in object-oriented programming (object, class, protocol, hierarchy, inheritance, encapsulation, polymorphism and collaboration).
The programming language you will use is Java. However, the purpose of the course is not to teach you the minutiae of the Java language, but rather to teach you fundamental object-oriented programming concepts and skills that will be transferable to any object¬ oriented language
Programmazione a oggetti tramite la macchina del caffé (1/3)Marcello Missiroli
Una introduzione semplice e (spero) intuitiva al mondo della programmazione a oggetti usando come riferimento una macchina del caffé (tipo Nespresso) (1/3)
Versione 2: tolto qualche refuso, aggiunto un paio di slide chairificatori.
Il Corso Programmazione Java Base di K-Tech (http://www.k-tech.it) ha come obiettivo quello di far comprendere le tecniche di programmazione orientata agli oggetti, cioè di modellare e “pensare” a oggetti, di trasmettere i concetti base del linguaggio e le basi per sviluppare piccole applicazioni in modo autonomo.
Il corso Programmazione Java Base è composto da dodici moduli:
1. Introduzione
2. Ciclo di sviluppo
3. Sintassi Elementare
4. Principi OOP
5. Classi e Oggetti
6. Concetti Object Oriented
7. Collections
8. Eccezioni
9. Input Output
10. Serialization
11. Unit Testing
12. Threads
Leggi il programma completo: http://www.k-tech.it/formazione/catalogo/programmazione_java_base
Questo progetto ha come argomento principale la "Domotica" e consiste nel controllo di un dispositivo elettrico a distanza attraverso il protocollo HTTP appoggiandosi sulla piattaforma Open Source Arduino.
8. Fido e Polly Stato e Comportamento Animale fido = new Cane(“Fido”); fido.muovi(); fido.parla(); // baubau // Verifico lo stato fido.getNome(); // Fido fido.getFame(); // poca fido.muovi(); fido.getFame(); // molta polly = new Pappagallo(“Polly”); polly.muovi(); // si muove sul trespolo non vola! polly.parla(); // mi chiamo pooolly // Verifico lo stato polly.getNome(); // Polly
29. Esempi di costruttori public class Animale { } public class Animale { public Animale() { } } Le classi sono identiche, quella a destra viene generata in fase di compilazione da Java. Attenzione! Non viene modificato il sorgente ma è la classe compilata che in assenza di un costruttore viene creata con quello di default public class Animale { public Animale() { } public Animale(String nome) { } public Animale(String nome) { } } public class Animale { public Animale() { } public Animale(String nome) { } public Animale(String nome, String razza) { } }
30.
31.
32. Diminuiamo la visibilità class Animale { String nome ; String getNome() { return nome ; } void setNome(String nuovoNome){ nome = nuovoNome; } } class Animale { private String nome ; String getNome() { return nome ; } void setNome(String nuovoNome){ nome = nuovoNome; } } Cosa cambia Con questa piccola modifica la classe xxx non compila più. Abbiamo impedito modifiche dirette al field 'nome' Anche protected avrebbe nascosto la visibilità. Domanda: Cosa avrebbe fatto invece public ? Domanda: Come faccio a cambiare il nome adesso?
33.
34.
35.
36.
37.
38. Classi Gatto e Canarino public class Gatto { private String nome ; public Gatto(String nome) { this . nome = nome; } public String getNome() { return nome ; } } public class Canarino { private String nome ; public Canarino(String nome) { this . nome = nome; } public String getNome() { return nome ; } }
39. Classe Fattoria public class Fattoria { private Gatto gatto ; private Canarino canarino ; public Gatto getGatto() { return gatto ; } public void setGatto(Gatto gatto) { this . gatto = gatto; } public Canarino getCanarino() { return canarino ; } public void setCanarino(Canarino canarino) { this . canarino = canarino; } public void stampaNomiAnimali() { System. out .println( gatto .getNome()); System. out .println( canarino .getNome()); } }
40. Classe testFattoria public class TestFattoria { public static void main(String[] args) { Gatto gatto = new Gatto( "Silvestro" ); Canarino canarino = new Canarino( "Titti" ); Fattoria fattoria = new Fattoria(); fattoria.setGatto(gatto); fattoria.setCanarino(canarino); fattoria.stampaNomiAnimali(); } }