Elenet.net
0 voti
quesito posto 18 Maggio 2017 in Classe quarta da JuvGiuse99 (25 punti)
  

1 Risposta

+1 voto
Risposta migliore

L' information hiding consiste nell'insieme di costrutti sintattici e semantici attraverso i quali  è possibile per una classe "nascondere“ alcune informazioni che sono utili solamente allo svolgimento dei suoi compiti, esponendo un’interfaccia, cioè l’insieme di dati (proprietà) e di comportamenti (metodi) che sono funzionali al resto del programma.

L'information hiding sta alla base dell'Incapsulamento.

L’incapsulamento è di fondamentale importanza per la programmazione ad oggetti, dato che consente ad una classe di acquisire le proprietà di robustezza, indipendenza e riusabilità.

La filosofia alla base dell’incapsulamento si fonda sul controllo dell’accesso ai campi di una classe, ovvero fornendo l’accesso alle variabili (x) di istanza di una classe soltanto attraverso appositi metodi (setX getX ) dichiarati usando il modificatore public (questo modificatore li renderà invocabili dall’esterno da oggetti appartenenti ad altre classi).
Questa regola, che blocca l’accesso diretto a tutti gli attributi privati, rende la classe indipendente e riutilizzabile; inoltre, ciò comporta anche una maggiore robustezza del software.

Esempio:

class Persona {
  private String nome;
  private String cognome;

// gli attributi sono privati quindi non direttamente accessibili dall'esterno della classe


  public Persona(String nome,String cognome){
                           this.nome=nome;
                           this.cognome=cognome; }

// Il costruttore definisce i valori iniziali degli attributi privati)


 public String setNome (String nome) { this.nome= nome;
  }

// attraverso i metodi get e set permetto l'accesso alle variabili private


public String getNome (){ return nome; 

  }

public String setCognome(String cognome){ this.cognome= cognome;
}
public String getCognome(){
return cognome; }


}

risposta inviata 24 Maggio 2017 da Gianni Messina Esperto (736 punti)
Selezionata 24 Maggio 2017 da JuvGiuse99

Domande correlate

+1 voto
0 risposte
quesito posto 10 Maggio 2017 in Classe quarta da Gianni Messina Esperto (736 punti) | 357 visite
0 voti
0 risposte
quesito posto 30 Marzo 2023 in Classe quarta da davide_virzi (19 punti) | 97 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti