Informatica
Informatica
java
programmazione ad oggetti
applet e serviet
15/09/2021
teorema di jacopini = ogni algoritmo può essere realizzato utilizzando le sole
tre strutture di controllo fondamentali: la sequenza, la selezione ed il
ciclo.
sequenza = insieme ordinato di istruzioni
selezione = esecutore deve fare una scelta, condizione o vera o falsa
ciclo = eseguire un'istruzione per un determinato numero di volte (altrimenti
si finisce in un ciclo infinito)
---
caratteristiche OOP:
-ereditarietà (singola o multipla)
-incapsulamento
-polimorfismo
UML (unified modeling language) = schema grafico per descrivere una classe
più classi posso interagire tra loro se gli attributi e metodi sono pubblichi
class hello {
public static void main (string args[])
{
system.out.println ("Hello, world!");
}
}
22/09/2021
non ci sono puntatori in java
per questo c'è il garbage collector
ci sono i commenti (//) in java
int vett[25];
int vet[]={1,2,3,4};
byte = 8 bit
short = 16 bit
int = 32 bit
long = 64 bit
sequenze di escape:
\n = ritorno a capo
\t = tabulazione
\\ = backslash
\" = doppio apice
23/09/2021
struttura java diversa da C
java = case sensitive (bisogna stare attenti ai caratteri utilizzati)
fai attenzione alle maiuscole:
public static void main(String args[])
System.out.println("");
01/10/2021
differenza tra java runtime environment (jre) e java development kit (jdk)
jre = per pc che eseguono applet e app scritte usando la tecnologia java
jre = ambiente per eseguire applet e app scritte usando linguaggio java
jre = distribuito gratuitamente ed è disponibile su java.com
java standard edition (jse) = per sviluppatori di software che scrivono applet
e app usano tech java
jse = kit per lo sviluppo di applet e app scritte usando linguaggio java
jre = implementazione della jvm che esegue programmi java
jre = plug in per esecuzione di programmi java
jre = più piccolo di jdk
jre = include jvm, librerie di base e altri componenti aggiuntivi per eseguire
app e applet scritte in java
jdk = insieme di software per sviluppare app basate su java
jdk = serve per sviluppare applicazioni in java
jdk = più pesante
jdk = include jre, insieme delle classi API, il compilatore java, web start e
i file aggiuntivi per scrivere applet e app java
JAVA SE
quando si pensa a java si pensa a java SE
api di java SE fornisce le funzionalità principali del linguaggio di
programmazione java
definisce tutto, dai tipi e oggetti di base del linguaggio di programmazione
java alle classi di alto livello usate per il networking, la sicurezza,
l'accesso al database, lo sviluppo dell'interfaccia grafica (gui) e l'analisi
xml
xml = linguaggio markup
xml = diverso nelle regole da html
xml = gestisce pagine web java
oltre all'api di base, java se è composto da una macchina virtuale, strumenti
di sviluppo, tecnologie di implementazione e altre librerie di classi e
toolkit comunemente usati nelle app java
JAVA EE
java EE è costruito sulla piattaforma java SE
java EE fornisce un ambiente api e di runtime per lo sviluppo e l'esecuzione
di app di rete su larga scala, multilivello, scalabili, affidabili e sicure
JAVA ME
java ME fornisce un'api e una macchina virtuale di dimensioni ridotte per
l'esecuzione di app di linguaggio java su dispositivi di piccole dimensioni,
come telefoni cellulari
api è un sottoinsieme dell'api java SE, insieme a librerie di classi speciali
utili per lo sviluppo di app su dispositivi di piccole dimensioni
le app java me sono spesso client dei servizi della piattaforma java EE
FX JAVA
tecnologia java FX è una piattaforma per la creazione di app internet scritte
in java FX scriptTM
le app scritte per la piattaforma java fx possono includere e collegare classi
di linguaggio di programmazione java e possono essere clienti di servizi di
piattaforma java EE
FX java è un insieme di librerie per progettazione di interfaccia utente java
---
programmazione ad oggetti
il paradigma OOP è basato sul fatto che esiste una serie di oggetti che
interagiscono vicendevolmente, scambiandosi messaggi ma mantenendo ognuno il
proprio stato ed i propri dati
l'idea principale che sta dietro la programmazione ad oggetti risiede nel
mondo reale, ossia pensare ad un problema come si pensa nel mondo reale
le classi si scambiano i messaggi tramite i metodi
ereditarietà
polimorfismo
05/10/2021
DICHIARAZIONE DI UN OGGETTO:
NomeClasse nomeOggetto;
in genere il nome di un oggetto inizia con una minuscola
CREAZIONE DI UN ISTANZA:
nomeOggetto = new NomeClasse();
METODO MAIN
-è pubblico (public)
-è statico (static)
-non restituisce nulla (void)
-gli eventuali parametri in input forniti dall'utente sulla riga di comando,
costituiscono un vettore di stringhe
ogni classe può avere il metodo main
il programma parte dal metodo main
senza di esso il programma non parte
istanziare un oggetto:
tavolo=new Cerchio();
Cerchio tavolo=new Cerchio() //dichiarazione e allocazione
11/10/2021
---
LINGUAGGIO JAVA
this = faccio riferimento all'oggetto corrente
metodo costruttore = serve ad assegnare un valore iniziale agli attributi del
nuovo oggetto creato
costruttore di copia e default
copia = costruttore a cui viene fornito come argomento un oggetto istanza
della stessa classe per realizzarne un clone copiandone i singoli attributi
default = privo di argomenti che inizializza gli attributi a un valore
predefinito
12/10/2021
classe wrapper contiene una variabile di tipo primitivo, che viene capsulato
come variabile di primo tipo e la considero come oggetto
byte = Byte
boolean = Boolean
char = Character
int = Integer
long = Long
short = Short
float = Float
double = Double
---
esercizio
progettare mediante un diagramma UML e implementare in java una classe CD i
cui oggetti rappresentano CD audio
ogni CD:
-titolo
-autore
-numero brani
-durata
metodi:
-costruttore che come parametri titolo, autore, numero brani e durata
-getTitolo, getAutore, getDurata, getBrani
-setTitolo, setAutore, setDurata, setBrani
-toString (convertire la stringa)
toString = riprende tutte le stringhe e le unisce in un'unica stringa
19/10/2021
programma in java:
leggi un numero e vedi se è pari o dispari
import java.util.Scanner;
public class Input{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.print("Inserisci un numero intero: ");
int a = in.nextInt();
if(a%2==0) System.out.println("Il numero inserito è pari.");
else if(a%2!=0) System.out.println("Il numero inserito è dispari.");
}
}
10/11/2021
Import java.util.Arraylist;
import java.util.Collection;
public class Invert{
public static void main(String args[]){
Arraylist arrlist = new Arraylist();
Arrlist.add(“value”);
System.out.println(“Ordinato ”+arrlist);
Collection reverse(arrlist);
System.out.println(“Inverso ”+arrlist);
}
}
astrazione e riuso:
-funzionale (metodi)
-dei dati (classe)
-del sistema
Concettuale
22/11/2021
Classe:
-variabili
-metodi
-costruttore
Variabili:
-di istanza (fuori dal metodo)(attributo)
-locali (dentro il metodo)
-parametri (che si passano al metodo)
Metodi = azioni che può fare l’oggetto / lo dichiaro dentro la classe / uso il
dot (.) per accedere al metodo (Oggetto.Metodo)
Modificatori di accesso = public, private, package, protected (ereditarietà),
static, final
Public e private per incapsulamento
Static non si può usare per incapsulamento
Static insieme a public mi fa capire che ho una funzione
Con static è come se programmassi con le funzioni e non ad oggetti
Final viene usato per le costanti
Protected viene usato per ereditarietà
Se non metto nessun modificatore alla classe, essa sarà accessibile solo alle
classi di quel package (visibilità di package o di default)