Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [java] chiarimento OOP

  1. #1

    [java] chiarimento OOP

    ciao ragazzi, ho fatto vari tentativi che non sono andati troppo a buon fine, spero di non abusare della vostra pazienza se vi chiedo di farmi un programma java che:
    abbia due classi A e B
    la classe A contenga la main
    B usa args[0] (una stringa) della main, chessķ somma args[0] ad un'altra stringa e la restituisce ad A che ci fa un println.
    Se vi fosse ciķ mi sarebbe un chiarimento enorme in quanto all'OOP, saluti.
    Walk fast, chew slowly.
    "We used students as subjects because rats are expensive and you get too attached to them"

  2. #2
    codice:
    public class A{
    public static void main(String args[]){
    B b=new B(args[0]);
    String tmp=b.somma("CIAO");
    System.out.println(tmp);
    }
    class B{
    private String b;
    public B(String b){this.b=b;}
    public String somma(String tmp){
      return b+" "+tmp;
    }
    }
    }
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  3. #3
    Thanx, purtroppo in fase di compilazione mi dice:
    non-static variable this cannot be referenced from a static context
    B b = new B(args[0])
    ^
    mi potresti spiegare la parte del codice
    public B(String b){this.b=b;}
    this.b si riferisce ad args[0]?

    E un'ultima cosa (please...) quando creo l'oggetto b
    B b = new B(args[0])
    il programma mi esegue tutti i metodi della classe B?
    Walk fast, chew slowly.
    "We used students as subjects because rats are expensive and you get too attached to them"

  4. #4
    Scusa
    Errore di parentesi

    codice:
    public class A{
    public static void main(String args[]){
    B b=new B(args[0]);
    String tmp=b.somma("CIAO");
    System.out.println(tmp);
    }
    
    }
    class B{
    private String b;
    public B(String b){this.b=b;}
    public String somma(String tmp){
      return b+" "+tmp;
    }
    }

    mi potresti spiegare la parte del codice
    public B(String b){this.b=b;}
    this.b si riferisce ad args[0]?
    con this.b si fa riferimento alla variabile della classe b .
    Scrivendo this.b=b; si assegna alla b della class B il valore del parametro b.
    Se avessi scritto b=b; in pratica la variabile passata come parametro sarebbe stata assegnata a se stessa.

    public B(String tmp){
    b=tmp;
    }
    In questo caso non č necessario il this in quanto le due variabili sono distinte.

    E un'ultima cosa (please...) quando creo l'oggetto b
    B b = new B(args[0])
    il programma mi esegue tutti i metodi della classe B?
    No , i metodi sono eseguiti solo quando invocati.
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

  5. #5
    perfetto, thanxalot
    Walk fast, chew slowly.
    "We used students as subjects because rats are expensive and you get too attached to them"

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.