Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Classi e oggetti java prof ficco, Appunti di Ingegneria industriale

Studio corso di programmazione ad oggetti classi e oggetti

Tipologia: Appunti

2019/2020

Caricato il 31/08/2020

luigi-magia
luigi-magia 🇮🇹

4.4

(125)

44 documenti

1 / 17

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Docente: Massimo Ficco
1
Università di degli Studi della Campania
‘Luigi Vanvitelli’
Ingegneria Industriale e dell’Informazione
Programmazione ad Oggetti
a.a. 2017-2018
Classi e Oggetti
Programmazione ad Oggetti - Prof. Massimo Ficco
Tipo Dati Astratto
ASTRAZIONE SUI DATI
Il tipo di dati astratto (ADT)
attributi
metodo metodo
metodo metodo
una classe ha un nome, e contiene due tipi di
membri: attributi e metodi
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Classi e oggetti java prof ficco e più Appunti in PDF di Ingegneria industriale solo su Docsity!

Docente: Massimo Ficco

E-mail: [email protected]

1

Università di degli Studi della Campania

‘Luigi Vanvitelli’

Ingegneria Industriale e dell’Informazione

Programmazione ad Oggetti

a.a. 2017 - 2018

Classi e Oggetti

Tipo Dati Astratto

ASTRAZIONE SUI DATI Il tipo di dati astratto (ADT) attributi metodo (^) metodo metodo (^) metodo

  • una classe ha un nome, e contiene due tipi di membri: attributi e metodi

Programmazione ad Oggetti - Prof. Massimo Ficco

ESEMPIO: UN’AUTOMOBILE

Funzioni Dati:

**- Avviati - Targa

  • Fermati - Colore
  • Accelera - Velocità
  • … - Livello benzina** - ...

Le classi

Java è un linguaggio di programmazione orientato agli oggetti ( object oriented ), che si basa sul concetto di classe La classe è identificata univocamente da un nome, che deve essere necessariamente uguale al nome del file che la contiene (affinché la classe possa essere eseguita) La classe ed è caratterizzata da una coppia di parentesi graffe { } che contiene il corpo della classe ossia le istruzioni e le dichiarazioni Esempio : (File sorgente con nome Prova.java ) [modifiers] class Prova { corpo della classe } I nomi delle classi possono essere precedute da parole chiave [modifiers]: public, private, static, …

Programmazione ad Oggetti - Prof. Massimo Ficco

Esempio classe auto

Public class Auto { public int cilindri=4; public int speed; // inizializzazione public String targa; } Auto a=new Auto(); Ho una classe costituita solo di attributi !!!!!! Unica cosa che possiamo fare è accedere agli attributi per modificarli o utilizzarli: a.speed =10; System.out.println ( a.cilindri );

I metodi

Ogni classe può contenere uno o più metodi I metodi sono caratterizzati da un nome e una coppia di graffe { } che contiene la specifica procedura I nomi dei metodi possono essere precedute da parole chiave [modifiers]: public , private , static, .. Esempio : public class Prova { public void metodo () { …. } }

Programmazione ad Oggetti - Prof. Massimo Ficco

*I metodi

Il termine metodo in Java viene preferito al termine funzione (ovvero un sottoprogramma con un valore di ritorno) _[modifiers] returnType methodName ( / Argument list / ) {/ Method body /}_ I metodi in Java possono essere definiti solo come parti di una classe

I parametri di ritorno

// questo metodo ritorna il numero di byte della stringa s public int storage (int s) { return s = 2; } Oggetti e tipi semplici vengono passati allo stesso modo Il parametro si utilizza nel metodo come una qualunque variabile return ha due funzioni:  Terminazione  Restituisce il valore di ritorno

Programmazione ad Oggetti - Prof. Massimo Ficco 13

Class String

La classe String: String str = "abc"; // Stringa costante. Non può essere più cambiata String str = new String(); String str = new String (“ stringa_di_esempio ”); System.out.println(str); I metodi: String str = cde.substring(1, 2); System.out.println(str); int i = str.length(); str.replace(char oldChar, char newChar); // Sostituisce il carattere oldChar con NewChar int i = str.hashCode(); str.concat(String anotherString); str.compareTo(String anotherString); ….

Chiamata di un metodo

Esempio:  Supponimo di avere un metodo f ( ) che non ha parametri e ritorna in tipo int.  public int f()  Supponendo di aver un oggetto a per il quale è possibile chiamare f( ) int x = a.f(); Il tipo ritornato da f deve essere compatibile con il tipo di x

Programmazione ad Oggetti - Prof. Massimo Ficco 15

VARIABILI LOCALI DI UN METODO

VARIABILI LOCALI DI UN METODO

Programmazione ad Oggetti - Prof. Massimo Ficco 1919

VARIABILI LOCALI DI UN METODO

VARIABILI LOCALI DI UN METODO

Programmazione ad Oggetti - Prof. Massimo Ficco 2121

VARIABILI LOCALI DI UN METODO

VARIABILI LOCALI DI UN METODO

Programmazione ad Oggetti - Prof. Massimo Ficco 25

L’esempio più semplice

HELLO WORLD

Hello.java

L’esempio più semplice

HELLO WORLD

class Hello { public static void main (String args [ ]) { System.out.println("Hello World!"); } } obbligatorio in questa forma Affinché un applicazione ad oggetti “parta”, devo avere una classe con un metodo statico e pubblico di nome main

Programmazione ad Oggetti - Prof. Massimo Ficco

SPIEGAZIONI

public static void main (String args [])void indica che main non ritorna nulla, il che è necessario per superare il type-checking del compilatore  args[] sono gli argomenti passati a main dalla shell quando si digita: java Hello arg1 arg2 ... argnString dice che gli argomenti sono di classe Stringpublic rende il metodo main visibile alle altre classi - e al comando java (interprete)  static associa main alla classe Hello , e non alle sue istanze System.out.println("HelloWorld!")  invoca il metodo println dell’oggetto out della classe System , che stampa la stringa sul file stdout Per eseguire un applicazione java e passargli un argomento, basta far seguire al nome dell' applicazione il valore desiderato: verrà interpretato come una stringa e memorizzato nell’array di stringhe args[] definito in main Esempio: java Shirt verde // Determina se passata una stinga sulla riga di comando public class Shirt { public static void main(String args[]) { if (args.length < 1) { System.out.println("Nessun argomento"); } else { System.out.println("Stringa digitata: " + args[0]); } } }

Passare argomenti all’applicazione da

linea di comando

Programmazione ad Oggetti - Prof. Massimo Ficco

class Auto{

public int cilindri=4;

public int speed=0;

public String targa;

public int getSpeed(){return speed;};

public void setSpeed(int s){speed= s;};

public int getCilindri(){return cilindri};

public void setTarga(String s){targa = s;}

} 31

2 ° Esempio- Scambio dei parametri

(per riferimento)

2 °Esempio- Scambio dei parametri

(per riferimento)

public class Prova{ static void accelera(Auto b) { b.setSpeed(b.speed+1); System.out.println("metodo: "+b.speed); } public static void main(String args[]) { Auto a =new Auto(); System.out.println("main1: "+a.speed); accelera(a); System.out.println("main2: "+a.speed); } } Output:

  • 0
  • 1
  • 1

3 ° Esempio preliminare

class Contatore { int cont=0; public void incr() { cont++; } public static void main(String args[]) { Contatore a=new Contatore(); Contatore b=new Contatore(); a.incr(); System.out.println(a.cont); output? System.out.println(b.cont); output? b=a; // copia i riferimenti System.out.println(a.cont); output? System.out.println(b.cont); output? b.incr(); System.out.println(a.cont); output? System.out.println(b.cont); output? } }