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

    [java] avere l`oggetto chiamante un metodo, in quel metodo

    come faccio a passare ad un metodo l`oggetto chiamante?
    cioe`:

    devo fare un metodo aggiungi(Metodo s)
    che scrivendo nel main:
    codice:
    Metodo ciao=new Metodo(2);
    Metodo ciao1=new Metodo(3);
    
    ciao.aggiungi(ciao1);
    mi dia come risultato 5
    Quanti programmatori sono necessari per cambiare una lampadina?
    Nessuno, e' un problema hardware.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305
    Non ho ben capito la cosa. Tu vuoi passare ad un metoto, l'oggetto che lo ha invocato. Una soluzione possibile è questa:
    codice:
    public class MiaClasse {
       public tipo mioMetodo(MiaClasse oggetto) {
          ...// elaborazione
       }
    
       public static void main(String [] args) {
          MiaClasse mc = new MiaClasse();
          mc.mioMetodo(mc);
       }
    }
    Sull'esempio che hai fatto tu, potrei scrivere una cosa del genere:
    codice:
    public class MiaClasse {
       private int valore;
       public MiaClasse(int valore) { this.valore = valore; }
       public int getValore() { return valore; }
       public int aggiungi(MiaClasse mc) {
          return valore + mc.getValore();
       }
       public static void main(String [] args) {
          MiaClasse m1 = new MiaClasse(3);
          MiaClasse m2 = new MiaClasse(2);
    
          // Con questa stampa '5'
          System.out.println(m1.aggiungi(m2));
    
          // Ma posso anche fare...
          System.out.println(m1.aggiungi(m1));  // Stampa '6'
       }
    }
    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

  3. #3
    grazie mille hai risolto il mio problema
    Quanti programmatori sono necessari per cambiare una lampadina?
    Nessuno, e' un problema hardware.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,305
    Di nulla!

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