Class Kullanımı

Class Kullanımı
public partial class Form1 : Form
{
    Arac arac;  // Sınıf seviyesi değişken

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        arac = new Arac();
        arac.Model = "Toyota Corolla";
        arac.Plaka = "34ABC123";
        arac.Km = 123456;
        arac.BilgiYaz();

    }
    public class Arac
    {
        public string Model;
        public string Plaka;
        public int Km;

        public void BilgiYaz()
        {
            MessageBox.Show($"Model: {Model}nPlaka: {Plaka}nKM: {Km}");
        }
    }
}

Eri?şi?m Beli?rleyi?ci?ler (access Modifiers)

.NET platformunda oluşturulan uygulamalarda güvenliği artırmak amacıyla sınıflara ve/veya sınıf içinde kullanılan ögelere erişimin kısıtlanması gerekir. Dolayısıyla koda dışarıdan erişimi

 

 

n sınırlarını belirlemek amacıyla erişim belirleyicileri kullanılır.

C# programlama dilinde kullanılan erişim belirleyicileri şunlardır:

public (Genel) Public olarak tanımlanan ögeler üzerinde herhangi bir kısıtlama yoktur. Her yerden erişilebilirdir.
private (Gizli) En katı erişim belirleyicidir. Ögeler sadece tanımlandığı sınıf içinde erişilebilirdir. Bir başka deyişle ögeler sadece tanımlandığı küme parantezleri arasında kullanılabilir.
protected (Korunumlu) Ögeler, bulunduğu sınıf içinde ya da bu sınıftan türeyen diğer sınıflarda erişilebilirdir.
internal (Dâhilî) Internal olarak tanımlanan ögelere sadece aynı program içinden erişilebilir.
protected internal (Dâhilî+Korumalı) Ögeler hem protected hem de internal erişim belirleyicisine sahip olarak değerlendirilir. Türetilen sınıfın farklı program içinde olması sorun teşkil etmez.
Örnek
EkKlas.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp27
{
    internal class EkKlas
    {

        public int BanaHerYedenUlasilir = 1;
        private int BanaSadeceBuKlasstanErisilir = 1;
        protected int BanaSadeceBuKlasinEklendigiKlastanErisilir = 1;
        internal int BanaBuProjeIcindenkiHerHangiBirYerdenErisilir= 1;

        public EkKlas() //yapilandirici fonksiyon, bu nesneden obje olusunca bu otomatik calisicak
        {
            this.BanaSadeceBuKlasstanErisilir = 2;
            this.BanaSadeceBuKlasinEklendigiKlastanErisilir = 2;
            this.BanaBuProjeIcindenkiHerHangiBirYerdenErisilir = 2;
        }
    }
}

Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp27
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            EkKlas ObjeEkKlas = new EkKlas();

            ObjeEkKlas.BanaHerYedenUlasilir = 2;

            /*
            ObjeEkKlas.BanaSadeceBuKlasstanErisilir = 2; //private
            

            ObjeEkKlas.BanaSadeceBuKlasinEklendigiKlastanErisilir = 2; //protected
            */

            ObjeEkKlas.BanaBuProjeIcindenkiHerHangiBirYerdenErisilir = 2;
        }
    }
}
Yükleniyor...
Yükleniyor...