Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329

    Come creare un oggetto come una stringa?

    Salve volevo sapere come poter creare una estensione della classe "String"...
    Mi dice che siccome è una classe FINAL non si può fare.
    Quindi ho creato una classe "MiaStringa" ma vorrei che il costruttore fosse come in String, nel senso che vorrei si potesse fare

    MiaString = "testo";
    oppure
    String st = "testo";
    MiaString = st; (casting che non so come gestire).
    Grazie;
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  2. #2
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  3. #3
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Sei un grande............
    ..............................
    ..............................

    Peccato che a questo ci ero arrivato, andandomi a vedere la classe della libreria lang, ma se ho chiesto, magari l'ho fatto perchè non ci ho tanto capito.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  4. #4
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Sinceramente si dovrebbe analizzare interamente la classe String....semmai chiedi cosa non hai capito, oppure se avrai moooooolta pazienza quando avrò del tempo utile guarderò la classe.
    Semmai tu specifica cosa vuoi sapere....e non intendo "come implemento questo", ma "nella classe String c'è scritto....code...code...ma non lo capisco...qualcuno me lo spiega".....

    Poi avevo intuito che cosa volevi...solo che era troppo vago...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  5. #5
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Scusa ma cosa era troppo vago in quello che ho scritto:

    MiaString = "testo";
    oppure
    String st = "testo";
    MiaString = st; (casting che non so come gestire).
    Grazie;

    Cmq quello che proprio non capisco è come poter utilizzare, anzi inizializzare "MiaString" senza utilizzare l'operatore "new" , ma farlo come con String st = "stringa".
    Nella classe String non capisco quale sia il frammento di codice che permette questo.
    Spero di essere stato meno vago...
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  6. #6
    Forse lo permette il fatto che sia una classe dichiarata "final"?? Non sono sicuro, è solo un'idea

  7. #7
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Originariamente inviato da Dreamer89
    Forse lo permette il fatto che sia una classe dichiarata "final"?? Non sono sicuro, è solo un'idea
    No, mi dispiace, ma la definizione di final permette ad una classe di esser dichiarata non implementabile e non mutabile ( quindi nessun extends e nessuna modifica ).
    Sto cercando di capire come implementare l'assegnazione diretta....ma nada...continuerò a cercare.

    @Donovant
    Scusa, ma ero partito per una tangente di mancato ascolto....
    Posso chiederti come mai desideri implementare una nuova classe java simile a String?
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  8. #8
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537

    Trovato

    Eccomi qui con una possibile soluzione.

    Allora, l'operazione di assegnazione ( = ) ha il compito di prendere l'elemento a destra, trasformarlo nell'oggetto da lui rappresentato e tentare di metterlo nel'elemento a sinistra.

    Quindi un'operazione simile
    String prova = "abcde";

    prende la string "abcde" la trasforma in una Stringa ( in quanto il compilatore sa che " " rappresentano una Stringa ) e cerca di assegnarla alla classe String.
    Quindi il tutto viene fatto da un operatore.

    Ora....come fare a creare una nuova classe Stringa.

    Ti faccio un esempio prima di proseguire.
    codice:
    class Pippo{
    ...
    }
    
    class Cane_di_pippo extends Pippo{
    ...
    }
    
    class Paperino{
    ...
    }
    
    //all'interno di una classe main
    Cane_di_pippo cdp = new Cane_di_pippo();
    Pippo pippo = cdp;
    
    pippo = new Paperino();
    ...
    Allora, la prima assegnazione non da problemi, dato che per ereditarietà la classe Cane_di_pippo è anche una classe Pippo, quindi nessun problema ad effettuare questa assegnazione, mentre questo non accade per la classe Paperino che non estende la classe Pippo.

    Questo per dirti che....
    MiaString prova = "abcde";

    Puoi creare la classe MiaString e riuscire ad ottenere una cosa simile se e solo se riesci ad implementare a MiaString una classe estesa di String.

    codice:
    public final class String
    extends Object
    implements Serializable, Comparable, CharSequence
    e l'unica classe che String estende è Object, quindi se riesci a lavorare con Object e sappi che
    codice:
    Object test = "abcde";
    è un'operazione perfettamente lecita....dovrai poi implementare anche le interfaccie che ti permettano di lavorare correttamente con i tipi di Stringa che vuoi implementare....

    Sempre a disposizione.
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  9. #9
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537

    Re: Trovato

    Originariamente inviato da @DI3GO@
    ....
    Quindi un'operazione simile
    String prova = "abcde";

    prende l'oggetto "abcde" e lo trasforma in Object e poi tenta di assegnarlo ad String, cosa perfettamente lecita, in quanto String extends Object.
    Quindi il tutto viene fatto da un operatore.
    Ho fatto un nuovo post, in quanto non mi lasciava modificare il post precedente....Mah.
    Comunque ho voluto puntualizzare, perchè l'operatore non trasforma in String come detto prima, ma generalizza ad Object ( esattamente come tutte le classi java che in automatico estendono Object );
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  10. #10
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Si si questo lo sapevo, che String è "final" quindi non estendibile...
    Ma non so se il fatto i estendere "Object" mi darà poi l'opportunità di avere un oggetto che assegnato un valore direttamente come per una stringa non mi darà errore.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

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.