Cos’è l’incapsulamento nell’ingegneria del software?

L'incapsulamento si riferisce al nascondere i dati, è un concetto OOP. Si ottiene impostando i campi di una classe come privati. Questo nasconde i dati dall'essere usati da codice esterno. Per avere accesso a questi dati privati, è necessario accedere alle loro proprietà o metodi pubblici. Privato significa che solo il codice della classe corrente può accedere ai dati. Protetto significa che solo il codice della classe corrente o il codice che eredita dalla classe corrente può accedere ai dati. E.g

class Person {

private String name;

private int age;

// per ottenere o impostare questi campi, avete bisogno di un metodo o //properties per linguaggi come c#

public void setAge(int age) {

this.age =age;

}

public void setName(String name) {

this.name =name;

}

/*si potrebbe usare anche un costruttore non predefinito*/

public Person(String name) {

this.nome=nome;

}

//method to get

public String getData(){

return “The person name is “ + name+ “and the person is “ + age+ “ years old “

}

}

//create a person object

public static void main (String [] args) {

Person myPerson = new Person ();

/*set the person age and name with the public methods the class exposes*/

myPerson.setName(“alice");

myPerson.setAge(10);

//get the person data

System.out.println(yPerson.getData()

}

The purpose of encapsulation is to hide data from external code except you subscribe to that class by creating an instance of the class. Note that static fields and methods are independent of the class and can be used without creating an instance of the class.

I hope this helps.