What is Encapsulation?

1/12/2020 4:11:50 AM

Encapsulation is the first principle of object-oriented programming. Encapsulation is a data hiding or process of binding data members (variables, methods, properties) into a single unit in a class.  Encapsulation related the access modifier. Now given bellow the example code and explain the code:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Reflection;
using testForClass1;
namespace testFor
    public struct Student
        //non-accebole variable
        private int _id;
        //accebole variable
        public string _name;
        public int Id { get { return this._id; } set { this._id = value; } }
        public string Name { get { return this._name; } set { this._name = value; } }
        public void PrintDetels()
            Console.WriteLine("Student Id:"+_id+" "+"Student Name : "+_name);
    public class Program
        static void Main(string[] args)
            //use struct object and proparty
            Student std = new Student();
            std.Id = 101;
            std.Name = "Farhan";
            //if name variable is public then we access it
            std._name = "Sakib";

In the code _id is private so it can’t direct access from another class. This variable access by the property but _name, it is possible to access by property or it possible to direct using the Student class object.