Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Java] Interfacce: dubbi sul loro utilizzo

    Buongiorno a tutti,
    giusto pochi giorni fa a lezione sono state spiegate le interfacce. Da quanto ho capito un'interfaccia altri non è che una raccolta delle dichiarazioni dei metodi utilizzati. Oggi ho provato a buttar giù due righe di codice in merito:
    un'interfaccia
    codice:
    public interface Area {
        public double Area();
    }
    e due classi che implementano l'interfaccia:
    codice:
    public class AreaQuadrato implements Area {
        private int lato = 5;
        
        public double Area() {
            return lato * lato;
        }
    
    }
    codice:
    public class AreaRettangolo implements Area{
        private int lato1 = 5, lato2 = 5;
        
        @Override
        public double Area() {
            return lato1 * lato2;
        }
        
    }
    La mia prima domanda è: è corretto il mio modo di procedere? E la seconda è: se volessi fornire in input al programma dei valori per il conseguente calcolo dell'area, come dovrei fare?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da luca93abc Visualizza il messaggio
    Da quanto ho capito un'interfaccia altri non è che una raccolta delle dichiarazioni dei metodi utilizzati.
    Dimenticando per un attimo le novità di Java 8 riguardo le interfacce, sì una interfaccia rappresenta una pura astrazione che indica quali comportamenti (metodi) deve avere un oggetto ma non come deve implementarli.
    Le interfacce vengono tipicamente usate per rappresentare la capacità di saper fare qualcosa, vedi interfacce es. Runnable, Comparable, Iterable, ecc... Ma ovviamente si possono usare anche in modo più generico.

    Quote Originariamente inviata da luca93abc Visualizza il messaggio
    è corretto il mio modo di procedere?
    Di per sé, sì è tecnicamente corretto. Le classi però poi chiamale Quadrato e Rettangolo, specialmente quando farai le modifiche che ti indico sotto.

    Quote Originariamente inviata da luca93abc Visualizza il messaggio
    se volessi fornire in input al programma dei valori per il conseguente calcolo dell'area, come dovrei fare?
    Innanzitutto devi fare in modo che le tue classi Quadrato/Rettangolo possano ricevere i dati per poter impostare lo stato degli oggetti. Lo "stato" ce l'hanno (nel senso di avere i campi per i dati) ma adesso hai cablato dei valori fissi. Quindi dovresti iniziare a mettere costruttore/i, metodi getter e/o setter e altro che può essere utile (es. toString() ).

    Poi l'input di quei dati è un altro discorso.
    Ultima modifica di andbin; 17-10-2014 a 11:44
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @luca93abc: il titolo delle discussioni è la prima cosa che gli utenti vedono, nonc'è la prima cosa che viene usata per cercare le risposte ai propri problemi. Ne consegue, che le discussioni devono avere un titolo significativo, che faccia capire, cioè, il contenuto della discussione stessa. "è giusto?" non dice nulla del contenuto della discussione, ed è, quindi, da considerarsi un titolo non appropriato.

    Questa ed altre piccole regole le trovi nel Regolamento interno.

    Ho corretto io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.