Encapsulation

Encapsulation, private olarak tanımladığımız değişkenleri public hale getirmemizi ve istediğimiz
şekilde kullanabilmemizi sağlayan işlemdir. Bu sayede rastgele veri atanmasının da önüne geçilmesini
sağlamaktadır. Değişkenimiz (field) private, property public’tir.

Değerleri verirken set blokları çalıştırmaktadır.
Okurken de get blokları çalışmaktadır.

 public class Insan
    {
        private void KirlikandakiKarbondioksitiAl()
        {
            //.......
        }
        private void OksijenikanaVer()
        {
            //.......
        }
        private void CigeriSisir()
        {
            //.......
        }
        private void CigeriDaralt()
        {
            //.......
        }
        public void NefesAl()
        {
            CigeriSisir();
            OksijenikanaVer();
            KirlikandakiKarbondioksitiAl();
            CigeriDaralt();
        }
    }

    class Program
    {
        static void Main()
        {
            new Insan().NefesAl();
        }
    }

Example 2:

class Customer
    {
        private int _id;
        private string _firstName;
        private string _lastname;
        private string _city;

        public int Id { get => _id; set => _id = value; }
        public string FirstName
        {
            // Eski versiyonlarda bu şekilde get ve set gelirdi. get ederken başına Mr. ekleyebiliriz.
            get { return "Mr." + _firstName; }
            set { _firstName = value; }
        }

        public string Lastname { get => _lastname; set => _lastname = value; }

        public string City { get => _city; set => _city = value; }
    }

class Program
    {
        static void Main(string[] args)
        {
            Customer customer = new Customer();
            customer.City = "Ankara";
            customer.Id = 1;
            customer.FirstName = "Emre";
            customer.Lastname = "Topçuoğlu";
        }
    }