Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [problema interfaccia]

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    119

    [problema interfaccia]

    Allora ho il mio project (lavoro attraverso eclipse) chiamato Manuale :

    Dentro manuale ho i miei package (Capitolo1 , Capitolo2 , Capitolo3 , etc etc.....)

    Ora sono al package "Capitolo10" e' dentro una classe (di capitolo10) ho "definito l' interfaccia Measurable con un metodo get....();

    A questo punto vado in package Capitolo6 e in una delle classi esempio Ciccio.java ho implemento l'interfacia Measurable e relativo metodo cosi :

    public class NomeClasse implements Measurable
    {

    Definizione metodo . etc etc

    }

    Ma Measurable(dopo implements) mi restituisce quest'errore : Measurable cannot be resolved to a type

    perche'? Non riesco a risolverlo!

    Grazie mille


    Ps: Se di quello che ho scritto non si capisce nulla chiedo scusa ma non riesco a spiegarlo diversamente.

  2. #2
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    L'import di Measurable c'è?
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [problema interfaccia]

    Originariamente inviato da 00FUMI
    Ora sono al package "Capitolo10" e' dentro una classe (di capitolo10) ho "definito l' interfaccia Measurable con un metodo get....();
    Parli di "package" quindi deduco che hai usato la dichiarazione di package es.

    codice:
    package Capitolo10;
    
    public interface Measurable {
    ....
    Originariamente inviato da 00FUMI
    A questo punto vado in package Capitolo6 e in una delle classi esempio Ciccio.java ho implemento l'interfacia Measurable e relativo metodo cosi :

    public class NomeClasse implements Measurable
    {

    Definizione metodo . etc etc

    }

    Ma Measurable(dopo implements) mi restituisce quest'errore : Measurable cannot be resolved to a type
    Beh, devi usare la dichiarazione di import:

    import Capitolo10.*;
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    119
    Ho provato a fare l'import di Capitolo10 ma l'errore persiste.

    Help me non riesco ad uscirne vivo :-)

    Grazie dell' attenzione!

  5. #5

    mmmmmmmmmmmmm

    Ciao ..
    vediamo se ho capito bene..
    L'interfaccia l'hai definita all'interno di una classe che si trova nel package capitolo10?
    se è così devi importarti la classe e nella definizione della classe che deve implementare la tua interfaccia devi scrivere..

    implements CLASSECAPITOLO10.INTERFACCIA....


    A CHE SCOPO DEFINIRE UN INTERFACCIA ALL'INTERNO DI UNA CLASSE?


    CIAO MORPHEUS

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    119
    MORPHEUS: A CHE SCOPO DEFINIRE UN INTERFACCIA ALL'INTERNO DI UNA CLASSE?


    Allora : sto studiando i fondamenti di java da un manuale ,e arrivato al capitolo 10 vengono trattate le interfaccie per il riutilizzo del codice

    e che io abbia capito funzionano cosi :

    Se ho bisogno di alcuni metodi , definiti all'interno di una certa classe (in un qualsiasi package) da utilizzare per oggetti di un altra classe (presente in altro package) , non faccio altro che definire all interno della classe (di cui mi interessano i metodi) il tipo interfaccia con un(o piu di uno) qualche tipo di metodo(astratto) ; dopo di che implemento nella classe (che creera' oggetti che utilizzeranno metodi dell' interfaccia) l'interfaccia e relativi metodi.

    Se ho scritto solo cretinate mi scuso (ma questo e' quello che ho capito)

    Quello che non ho capito e perche' utilizzando gli esempi del manuale , al momento dell' implementazione dell' interfaccia mi viene restituito l'errore precedemente citato.


    Ho risolto facendo come hai detto


    implements NomeClasse.Interfaccia (naturalmente dopo aver importato la classe)

    quello che sbagliavo prima era : voler implementare l'interfaccia facendo :

    implements nomeInterfaccia (pensando che avendo gia importato la classe (con import nomePacgage.NomeClasse; non era utile riscrivere il nome della classe al moment odell'implementazione)

    Se continuo ad aver scritto cretinate , mi metto volentieri in ginocchio sui ceci :-)

    Grazie ancora


    Adesso mi ritrovo davanti ad un altro problema(sempre dovuto alle interfaccie) ma postero una nuova discussione.

  7. #7

    mmmmmmmmmmmmmmm

    bene bene...
    ascolta...
    le interfaccia (ereditarietà multipla in c++) ti servono sia per ereditarietà multipla

    classe a che implementa n interfaccie

    oppure per polimorfismo, vale a dire classe a implementa interfaccia c; classe b implementa interfaccia c

    bene in qualsiasi punto del codice anzichè farti restituire il tipo conosciuto (A o B) ti fai restituire l'intercaccia C, non preoccuparti che in fase di runtime la nostra cara virtual machine sa riconoscere il tipo e richiamare il metodo della classe concreta..
    se vuoi ti faccio un esempio + concreto :-P... ma spero tu abbia capito lo stesso..

    fatto sta che quello che vuoi fare tu dovresti farlo con una inner class, ma anke in questo caso ci sono buoni e validi motivi per farlo..
    INOLTRE, se i metodi che vuoi utilizzare sono metodi concreti(implementati all'interno) faresti bene a creare una classe statica la importi e ce l'hai a disposizione sempre e ovunque, se no usa l'ereditarietà....

    Prego e fammi sapere

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    119
    forse ho scritto troppe cretinate e forse non mi hai capito.

    Io sto studiano il linguaggio e mi trovo al capitolo dieci primo paragrafo intitolato "utilizzo di interfacce per riutilizzo del codice"

    Ancora non sono passato da ereditarieta , polimorfismo , classi interne e quanto hai nominato.

    Si guardando un po piu in la con le pagine ci sono gli argomenti da te nominati ma mi trovo fermo perche' non riesco a risolvere "l'esempio di chiarimento" che il manuale riporta. e avendo paura di non capire un cavolo dopo tralasciando questo argomento , cercavo di mettermi le idee a posto risolvendo questo "esempio"

    Che poi esistano altre vie (anche migliori a livello di dispendio computanzionale , tempo , e quant' altro) non lo metto in dubbio , pero' ripeto il manuale mi indica questa strada e cercavo di seguirala al meglio per non avere problema col proseguimento dello stesso.

    Grazie mille!

  9. #9

    ereditarietà, polimorfismo

    beh visto che è così ti scrivo qualcosa in merito..
    ereditarietà multipla, ossia la possibilità di derivare una classe da due o più classi base extends prevede solamente un singolo argomento. per risolvere tutto java utilizza le interfacce e classi astratte.Le interfacce sono entità simili a classi, ma non contengono implementazioni delle funzionalità descritte. Le classi astratte, anch’esse del tutto simili a classi normali, consentono di non implementare tutte le caratteristiche dell’oggetto rappresentato.
    Interfacce e classi astratte, assieme, permettono di definire un concetto senza dover conoscere i dettagli di una classe posponendone l’implementazione attraverso il meccanismo della ereditarietà. il polimorfismo viene riassunto nell’espressione “un’interfaccia, molti metodi”. Ciò significa che possiamo definire una interfaccia unica da utilizzare in molti casi collegati logicamente tra di loro.
    LE INTERFACCIA.
    rappresenta un prototipo e consente al programmatore di definire lo scheletro di una classe: nomi dei metodi, tipi ritornati, lista dei parametri. Al suo interno il programmatore può definire dati membro purché di tipo primitivo con un’unica restrizione: Java considererà implicitamente questi dati come static e final (costanti). Quello che una interfaccia non consente, è la
    implementazione del corpo dei metodi.Una interfaccia stabilisce il protocollo di una classe senza preoccuparsi dei dettagli di implementazione. Dal momento che una interfaccia rappresenta solo il prototipo di una classe, affinché possa essere utilizzata è necessario che ne esista una implementazione che rappresenti una classe istanziabile.implements ci consente di implementare una classe a partire da quante interfacce desideriamo semplicemente esplicitando l’elenco delle interfacce implementate separate tra loro con una virgola.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    119
    Ti ringrazio infinitamente per la spiegazione , ma forse sara' che sono alle prime armi , forse saro' un po duro nel comprendere le cose o chi sa forse non sono portato per queste cose ; ma ti chiederei se fosse possibile avere qualche riferimento piu chiaro a tutto cio che hai spiegato con degli esempi pratici in modo da poter "toccare con mano" quello di cui si parla.

    Se non fosse possibile sappi che e' piu che sufficiente quello che hai spiegato.

    Grazie ancora

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 © 2026 vBulletin Solutions, Inc. All rights reserved.