Encapsulamiento (POCO)

Contactar con el profesor

La encapsulación impide la manipulación externa de algunas partes de los objetos.

  • Fuerza al usuario a utilizar un método para acceder a los datos.
  • Hace que el código sea más fácil de mantener

Esto mejora la estabilidad de la aplicación, ya que el cambio directo de una variable puede afectar al correcto funcionamiento de la misma.

Esto permite un código más reutilizable, ya que este se encuentra encapsulado en módulos independientes.

Para ello declararé los métodos como public y las variables como private.

Ejemplo
Al hacer un pedido, no pueden venir más de 10 paquetes. Por tanto si vienen menos de 10 paquetes el número de paquetes en el almacén se modifica, pero pero si vienen más de 10 saltaría un mensaje de error.

class Encapsulation{
	static void Main(string[] args){
		Warehouse warehouse = new Warehouse();
		warehouse.numBoxes = 12;
		Console.WriteLine(warehouse.numBoxes);
	}
}

class Warehouse{
	private int _numBoxes;

	public int numBoxes{
		get { return _numBoxes; }
		set{ 
			if (numBoxes > 10){
				Console.WriteLine("Deliveries of more than 10 units are not allowed");
			}else{
				_numBoxes = value;
			}
		}
	}
}

POCO (Plain Old CLR (Common Language Runtime) Object)

class POCOExample{
	static void Main(string[] args){
		POCO1 poco1 = new POCO1();
		poco1.name = "Juan";
		Console.WriteLine(poco1.name);

		POCO2 poco2 = new POCO2();
		poco2.name = "Paco";
		Console.WriteLine(poco2.name);
	}
}

class POCO1{
	public string name { get; set; }
	public int age { get; set; }
}

class POCO2{
	private string _name;
	private int _age;
	public string name{
		get { return _name; }
		set { _name = value; }
	}

	public int age{
		get { return _age; }
		set { _age = value; }
	}
}
← Clases internas
Contenedores →

Aviso Legal | Política de privacidad