Parametri

di il
3 risposte

Parametri

Sto leggendo un codice all'interno del quale vi è un ulteriore classe(oltre a questa di cui presenterò il codice quà sotto) chiamata "Vertice"

import java.util.ArrayList;

public class Figura {
	
	String nome;
	int id;
	ArrayList<Vertice> v; //contiene i vertici relativi alla figura
	
	public Figura(String nome, int id) {
		this.nome = nome;
		this.id = id;
		v = new ArrayList<Vertice>();
	}
	
	public void add(Vertice s) {
		v.add(s);
	}
	
	public String getNId() { //ci ritorna il nome della figura e il suo id associato
		return nome+" "+id;
	}
	
	public String toString() {
		StringBuffer sb = new StringBuffer(nome+" "+id+"\n");
		for(Vertice s: v)
			sb.append(s+"\t");
		return sb.toString();
	}
Quello che non ho ho ben compreso è questo pezzettino di codice in particolare

public Figura(String nome, int id) {
		this.nome = nome;
		this.id = id;
		v = new ArrayList<Vertice>();
	}
Ovvero, perchè non inserisce come parametro anche la v, ma inserisce solo nome e id? Quale vantaggio ne potrei trarre? (e allo stesso tempo, questa cosa mi porta vantaggi o no?) Cosa cambia nella "sostanza"?

3 Risposte

  • Re: Parametri

    Perchè la v l'ho ha inizializzato nel costruttore
  • Re: Parametri

    Anto11796 ha scritto:


    Ovvero, perchè non inserisce come parametro anche la v, ma inserisce solo nome e id? Quale vantaggio ne potrei trarre? (e allo stesso tempo, questa cosa mi porta vantaggi o no?) Cosa cambia nella "sostanza"?
    Semplicemente chi l'ha fatto ha scelto di mettere un solo costruttore che imposta la lista dei vertici "vuota". Avrebbero potuto mettere (anche) un costruttore che riceve tutti i tre dati es.

    public Figura(String nome, int id, ArrayList<Vertice> v)

    e assegnare i 3 parametri ai campi.

    E' solo questione di "design" e di scelte ...
  • Re: Parametri

    Ok, capito. Ringrazio entrambi per le delucidazioni!
Devi accedere o registrarti per scrivere nel forum
3 risposte