Encapsulation in C#
Encapsulation is a process of binding the data members and member
functions into a single unit. Class is the real-time example for
encapsulation because it will combine various types of data members and member
functions into a single unit.
Generally,
encapsulation is used to prevent alteration of code (data) accidentally from
the outside of functions. In C#, defining a class fields with properties, we
can protect the data from accidental corruption.
If
we define class fields with properties, then the encapsulated class won’t
allow us to access the fields directly instead, we need to use getter and
setter functions to
read or write data based on our requirements.
In
the example below, we define an encapsulation
by
defining a class with properties and get and
set accessors.
using system;
class User
{
private string
location;
private string name;
public string
Location
{
get
{
return location;
}
set
{
location = value;
}
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
}
From the code above, we defined variables with private
access modifiers and exposing those variables in a public way by using properties get and set accessors. In
case, if you want to make any modifications to the defined variables, then we
can make it by using properties with get and set accessors.
Encapsulation Real-time Example in C#
Below is an example of defining an
encapsulated class in C#.
using System;
namespace Csharpnaija
{
class User
{
public string
Location { get; set; }
public string Name { get; set; }
public string
UserDetails()
{
return $"My name is {Name}, I live in {Location}";
}
}
class Program
{
static void Main(string[] args)
{
User u = new User();
// set accessor
will invoke
u.Name = "Musa Gadabs";
// set accessor
will invoke
u.Location = "Abuja";
// get accessor
will invoke
Console.WriteLine("Name: " + u.Name);
// get accessor
will invoke
Console.WriteLine("Location: " + u.Location);
//Accessing the
encapsulated method
Console.WriteLine(u.UserDetails());
Console.WriteLine("\nPress Enter Key to Exit..");
Console.ReadLine();
}
}
}
If we observed above code snippets,
we defined a class with two
properties Location and Name using auto property without the field or private
variables as in the first example. We can manipulate the field values in the
same way when we have private variables.
This is how you can use encapsulation in C# to bind data members and member functions into a
single unit by protecting the data from accidental corruption.
Comments
Post a Comment