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


Oggetti e Classi in Java: Introduzione alla Programmazione Orientata agli Oggetti, Dispense di Programmazione Java

slide utili per programmare ad oggetti in java

Tipologia: Dispense

2017/2018

Caricato il 08/01/2018

matteo-sero
matteo-sero 🇮🇹

4.3

(3)

1 documento

1 / 83

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Roberto Navigli
Metodologie di Programmazione: Oggetti e Classi
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53

Anteprima parziale del testo

Scarica Oggetti e Classi in Java: Introduzione alla Programmazione Orientata agli Oggetti e più Dispense in PDF di Programmazione Java solo su Docsity!

Metodologie di Programmazione: Oggetti e Classi

Classi e oggetti

  • Possono:
    • Modellare gli oggetti del mondo reale
    • Rappresentare oggetti grafici
    • Rappresentare entità software (file, immagini, eventi, ecc.)
    • Rappresentare concetti astratti (regole di un gioco, posizione di un giocatore)
    • Rappresentare stati di un processo, di esecuzione, ecc. Metodologie di Programmazione 26/02/ 2

Classe vs. Oggetto

  • Classe: automobile
  • Attributi:
    • String modello;
    • Color colore;
    • int numPasseggeri;
    • double benzina;
  • Metodi:
    • Aggiungi/togli passeggero
    • Riempi serbatoio
    • Segnala quantità benzina
      • Oggetto: una certa automobile
      • Attributi:
        • String modello = “X”;
        • Color colore = Color.BLACK;
        • int numPasseggeri = 1;
        • double benzina = 50;
      • Metodi:
        • Come la classe Metodologie di Programmazione 26/02/ 4

Classe vs. Oggetto

  • Classe:
    • Definita mediante parte del codice sorgente del programma
    • Scritta dal programmatore - Oggetto: - Un’entità all’interno di un programma in esecuzione - Creato quando un programma “gira” (dal metodo main o da un altro metodo) Metodologie di Programmazione 26/02/ 5
  • Metodologie di Programmazione 26/02/ - Oggetto - Oggetto - Oggetto - Oggetto
  • Oggetto 1 Oggetto - Oggetto

CRC (Classe, Responsabilità e Collaboratori) Card

  • Una CRC Card è una descrizione preliminare di una classe nella fase iniziale di progettazione del programma Metodologie di Programmazione 26/02/ 8 Automobile Si trova su una certa strada Passeggero Può essere accesa o spenta Strada Si muove Chiave Gestisce un serbatoio Benzina Può contenere passeggeri Classe Collaboratori Responsabilità

Librerie

  • I programmi Java normalmente non sono scritti da zero
  • Esistono migliaia di classi di libreria per ogni esigenza (sia standard scritte da Sun, sia sul Web scritte da centinaia di sviluppatori) Metodologie di Programmazione 26/02/ 10

Librerie

  • I programmi Java normalmente non sono scritti da zero
  • Esistono migliaia di classi di libreria per ogni esigenza (sia standard scritte da Sun, sia sul Web scritte da centinaia di sviluppatori)
  • Le classi sono organizzate in package
  • Alcuni esempi:
    • java.util – classi di utilità
    • java.awt – classi per la grafica e le finestre
    • javax.swing – sviluppo di interfacce GUI
  • Un package “ speciale ” è java.lang: contiene le classi fondamentali per la programmazione in Java (es. String, System, ecc.) Metodologie di Programmazione 26/02/ 11

Come strutturare il codice di una classe in Java? classe Metodologie di Programmazione 26/02/ 13 campi metodi metodo 1 istruzione 1 istruzione 2 … istruzione n stato dell’oggetto operazioni|messaggi|comportamenti dell’oggetto Le istruzioni vanno SOLO nei metodi!!!

Counter.java Metodologie di Programmazione 26/02/ 14 Dichiarazione di un campo Tipicamente i campi sono privati Costruttore degli oggetti della classe Inizializza il campo value Costruttore^ I^ metodi^ della classe sono^ pubblici Metodi Campi Commento Javadoc Incrementa il valore di value Restituisce il valore di value

Dichiarare un campo

  • La dichiarazione di un campo avviene come segue: Metodologie di Programmazione 26/02/ 16 Tipicamente ad accesso privato Se specificato indica che il campo è condiviso da tutti gli oggetti della classe Se specificato indica che il campo è una costante Es. int, double, String, ecc.

Alcuni esempi di campi Metodologie di Programmazione 26/02/ 17

Definizione di un metodo

  • La definizione di un metodo avviene come segue:
  • Esempi: Metodologie di Programmazione 26/02/ 19 Tipicamente ad accesso pubblico Tipo del valore restituito (void se non viene restituito nulla) Nome del metodo Lista (eventualmente vuota) dei nomi di parametri con relativo tipo Corpo del metodo (racchiuso da parentesi graffe) …………………..

Metodi e valori restituiti

  • Un metodo può restituire un valore al chiamante
  • La parola chiave void nell’intestazione (“signature” o “header”) del metodo indica che il metodo non restituisce alcun valore: Metodologie di Programmazione 26/02/ 20 …………………..