Class Kullanımı


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şim Belirleyiciler (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
using static WinFormsApp1.Class1;

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

        private void Form1_Load(object sender, EventArgs e)
        {
            Manav mnv = new Manav();

            MessageBox.Show("Sepet Toplamı: " + mnv.Toplam());

            MessageBox.Show(mnv.Sepet());

            mnv.Yelma = 100;

            MessageBox.Show("" + mnv.Yelma);

            MessageBox.Show("Sepet Toplamı: " + mnv.Toplam());
            
            MessageBox.Show(mnv.Sepet());
        }
    }
}
manav.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WinFormsApp1
{
    internal class Class1
    {
        public class Manav
        {
            int Eadet = 4, Aadet = 6, Madet = 8, Kadet = 2;

            private int Elma = 10;
            private int Armut = 20;  //public int Armut = 20;
            private int Mandilina = 25;
            private int Karpuz = 50;


            public int Yelma
            {
                get { return Elma; }
                set
                {
                    this.Elma = value;
                }
            }

            public int Toplam()
            {
                int Toplam = (this.Elma * Eadet) + (this.Armut * Aadet) + (this.Mandilina * Madet) + (this.Karpuz * Kadet);
                return Toplam;
            }
            public String Sepet()
            {
                return "Sepetinizn" + Eadet + " Adet Elma n " + Aadet + " Adet Armut n " + Kadet + " Adet Karpuz n " + Madet + " Adet Mandilina";
            }
        }
    }
}

Ö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;
        }
    }
}

Örnek

Harici class dosyasını eklemek için

Class KullanımıekKlas.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp29
{
    internal class EkKlas
    {
        private int Aci1, Aci2, Aci3;

        public int AciA
        {
            get { return Aci1; }
            set {
                if(value < 0)
                {
                    this.KucukSayiMesaj();
                    Aci1 = 0;
                    return;
                }

                Aci1 = value;
            }
        }

        public int AciB
        {
            get;
            set;
        }

        /*public int AciB
        {
            get { return Aci2; }
            set
            {
                if (value < 0)
                {
                    this.KucukSayiMesaj();
                    Aci2 = 0;
                    return;
                }
                Aci2 = value;
            }
        }*/

        public int AciC
        {
            get { return Aci3; }
            set
            {
                if (value < 0)
                {
                    this.KucukSayiMesaj();
                    Aci3 = 0;
                    return;
                }
                Aci3 = value;
            }
        }


        public void KucukSayiMesaj()
        {
            MessageBox.Show("Lütfen 0 dan küçük sayı girmeyiniz");
        }

        public int AcilarToplami()
        {
            return (this.Aci1 + this.AciB + this.Aci3);

        }

        public String IkizKenarMi()
        {
            if(this.Aci1 == this.AciB )
            {
                return "Evet";
            }
            else if(this.Aci1 == this.Aci3)
            {
                return "Evet";
            }
            else if(this.AciB == this.Aci3)
            {
                return "Evet";
            }
            else
            {
                return "Hayır";
            }
        }
    }
}
form.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp29
{
    internal class EkKlas
    {
        private int Aci1, Aci2, Aci3;

        public int AciA
        {
            get { return Aci1; }
            set {
                if(value < 0)
                {
                    this.KucukSayiMesaj();
                    Aci1 = 0;
                    return;
                }

                Aci1 = value;
            }
        }

        public int AciB
        {
            get;
            set;
        }

        /*public int AciB
        {
            get { return Aci2; }
            set
            {
                if (value < 0)
                {
                    this.KucukSayiMesaj();
                    Aci2 = 0;
                    return;
                }
                Aci2 = value;
            }
        }*/

        public int AciC
        {
            get { return Aci3; }
            set
            {
                if (value < 0)
                {
                    this.KucukSayiMesaj();
                    Aci3 = 0;
                    return;
                }
                Aci3 = value;
            }
        }


        public void KucukSayiMesaj()
        {
            MessageBox.Show("Lütfen 0 dan küçük sayı girmeyiniz");
        }

        public int AcilarToplami()
        {
            return (this.Aci1 + this.AciB + this.Aci3);

        }

        public String IkizKenarMi()
        {
            if(this.Aci1 == this.AciB )
            {
                return "Evet";
            }
            else if(this.Aci1 == this.Aci3)
            {
                return "Evet";
            }
            else if(this.AciB == this.Aci3)
            {
                return "Evet";
            }
            else
            {
                return "Hayır";
            }
        }
    }
}
Örnek
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 WindowsFormsApp30
{
    public partial class Form1 : Form
    {

        MetinIslemleri MT = new MetinIslemleri();

        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_KeyUp(object sender, KeyEventArgs e)
        {
            MT.GelenMetin = textBox1.Text;

            label1.Text = MT.TersCevirici();
        }
    }
}
iremalic.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApp3
{
    internal class iremalic
    {
        public string gelenmetin
        {
            get;
            set;
        }
        public string terscevir()
        {
            string yenimetin = "";
            for (int i = this.gelenmetin.Length - 1; i >= 0; i)
            {
                yenimetin += gelenmetin[i].ToString();
            }
            return yenimetin;
        }

        public string terscevir2(String YollananMetin)
        {
            string yenimetin = "";
            for (int i = YollananMetin.Length - 1; i >= 0; i)
            {

                if (i%2== 0)
                    yenimetin += YollananMetin[i].ToString().ToUpper();
                else
                    yenimetin += YollananMetin[i].ToString().ToLower();

            }
            return yenimetin;
        }
    }
}

Class Kullanımı
Class Yapılarında Metot Kullanımı
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 WindowsFormsApp31
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            ArabaUreticisi AU=new ArabaUreticisi();
            //AU.MarkaAdiniYaz(3);
            //MessageBox.Show(AU.KamyonetTipi(2, 2));
            //MessageBox.Show(AU.Markalar[3]);
            //MessageBox.Show(AU.MarkaSec());

            //AU.CokKezSec(Kere:4, KamyonetNo:2, MarkaNo:1); //İsimlendirilmiş paametreler

            //{ "BMW", "Opel", "VW", "Hyundai" }
            AU.MarkaEkle("Fiat", "Mercedes", "Seat", "Audi");
            AU.MarkaListesiGoster();

        }
    }

    public class ArabaUreticisi
    {

        //public String[] Markalar = { "BMW", "Opel", "VW", "Hyundai" };
        public String[] Markalar = new string[10];

        public String[] KamyonetTipleri = { "Kamyonet", "Uzun Kamyonet", "Kısa Kamyonet", "Kapalı Kasa" };

        public void MarkaAdiniYaz(int MarkaNo) //class'a ait geriye değer döndermeyen, parametreli metot
        {
            MessageBox.Show(Markalar[MarkaNo]);
        }

        public String KamyonetTipi(int MarkaNo, int TipNo) //class'a ait geriye değer dönderen, parametreli metot
        {
            return Markalar[MarkaNo] + ' ' + KamyonetTipleri[TipNo];
        }

        public String MarkaSec(int MarkaNo = 3) //class'a ait geriye değer dönderen, varsayılan değerli parametreli metot
        {
            return Markalar[MarkaNo];

        }

        public void CokKezSec(int MarkaNo, int KamyonetNo, int Kere)
        {
            String IslemSonucu="";

            for(int i = 0; i < Kere; i++)
            {
                IslemSonucu += Markalar[MarkaNo] + ' ' + KamyonetTipleri[KamyonetNo] + 'n';
            }

            MessageBox.Show(IslemSonucu);
        }

        public void MarkaListesiGoster()
        {
            string MarkaListesi = "";
            foreach(var M in this.Markalar)
            {
                MarkaListesi += M + 'n';

                if(M == null)
                {
                    break;
                }
            }

            MessageBox.Show(MarkaListesi);
        }

        public void MarkaEkle(params String[] YeniMarkalar)
        {
            for(int i = 0;i < YeniMarkalar.Length;i++)
            {
                this.Markalar[i]=YeniMarkalar[i];
            }
        }
    }
}
 Örnek
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 WindowsFormsApp34
{
    public partial class Form1 : Form
    {
        KlasDersi KD = new KlasDersi();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
        }

        private void button1_Click(object sender, EventArgs e)
        {
            KD.DisardanErisilir = textBox1.Text;

            KD.MesajVer(KD.DisardanErisilir);
        }

        private void button2_Click(object sender, EventArgs e)
        {
        }

        private void button2_Click_1(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(textBox3.Text))
            {
                KD.Metot1();
            }
            else
            {
                string DonenDeger = KD.Metot1(textBox3.Text);

                KD.MesajVer(DonenDeger);
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string DonenDeger;

            if (string.IsNullOrWhiteSpace(textBox2.Text) && string.IsNullOrWhiteSpace(textBox4.Text))
            {
                DonenDeger = KD.Metot2();
                KD.MesajVer(DonenDeger);
            }
            else if (string.IsNullOrWhiteSpace(textBox4.Text))
            {

                DonenDeger = KD.Metot2(textBox2.Text);
                KD.MesajVer(DonenDeger);
            }
            else
            {
                DonenDeger = KD.Metot2(textBox2.Text, textBox4.Text);
                KD.MesajVer(DonenDeger);
            }
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }
    }


    public class KlasDersi
    {
        private string DisaridanErisilemez;

        public string DisardanErisilir // get ve set değişkeni
        {
            get { return DisaridanErisilemez; }
            set { DisaridanErisilemez = value; }
        }

        public KlasDersi()  //Constructors //yapıcı //OverLoading 
        {
            MesajVer("Klastan Obje Oluştu");
        }

        public KlasDersi(int DenemeNo) //Constructors //yapıcı //OverLoading
        {
            MesajVer($"Klastan {DenemeNo}.kez Obje Oluştu");
        }

        //class'a ait geriye değer döndermeyen, parametreli metot
        public void Metot1() //OverLoading
        {
            MesajVer("class'a ait geriye değer döndermeyen, parametresiz metot çalıştı");
        }

        //class'a ait geriye değer dönderen, parametreli metot
        public string Metot1(string GelenDeger) //OverLoading
        {
            return $"class'a ait geriye değer  dönderen >{GelenDeger}<, parametreli metot";
        }

        //class'a ait geriye değer dönderen, varsayılan değerli parametreli metot
        public string Metot2(string GelenDeger="Boş geldi")
        {
            return GelenDeger;
        }

        //class'a ait geriye değer döndermeyen, çok parametreli metot 
        public string Metot2(params string[] GelenDeger)
        {
            string DonecekVeri="";
            for (int i = 0; i < GelenDeger.Length; i++)
            {
                DonecekVeri += GelenDeger[i] + "n";
            }

            return DonecekVeri;
        }

        ~KlasDersi() //yıkıcı hafızdan silinirken çalışıcak
        {
            MesajVer("Klas Hafızadan Silindi");
        }

        public void MesajVer(String Mesaj)
        {
            MessageBox.Show(Mesaj);
        }

    }
}

Örnek
Class Kullanımı
 Örnek
Class Kullanımı
Tren.cs
 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OsmanKaraosman
{
    internal class Tren
    {
    }
    public class TrenClass
    {
        public double BiletFiyat { get; set; }
        public string TrenAdi { get; set; } = "";
        public int VagonNo { get; set; }
        public int KoltukNo { get; set; }
        public DateTime Tarih { get; set; }
    }

    public class Islemler : TrenClass
    {
        public Islemler()
        {
            BiletFiyat = 500;
        }
        public Islemler(int VN, int KN, DateTime T)
        {
            Tarih = T;
            VagonNo = VN;
            KoltukNo = KN;
        }

        public double Fiyat()
        {



            return BiletFiyat;
        }

        public double Fiyat2(params double[] BF)
        {
            double toplam = 0;
            foreach (double i in BF)
            {
                toplam += i;
            }
            return BiletFiyat = toplam;
        }
    }
}
 
 
 
namespace OsmanKaraosman
{
    public partial class Form1 : Form
    {
        List<Islemler> Islem = new List<Islemler>();
        double Tren1 = 800, Tren2 = 1000, Tren3 = 600;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            listView1.Columns.Add("Tren", 120);
            listView1.Columns.Add("Vagon No", 120);
            listView1.Columns.Add("Koltuk No", 120);
            listView1.Columns.Add("Tarih", 150);
            listView1.Columns.Add("Bilet Fiyatı", 120);
        }
        public void MS(string Mesaj)
        {
            MessageBox.Show(Mesaj);
        }

        private void buttonNormalKoltuk_Click(object sender, EventArgs e)
        {
            bool dolumu = false;
            if (comboBoxTrenler.SelectedIndex == -1 || textBoxVagonSirasi.Text == null || textBoxVagonKaltukSirasi.Text == null)
            {
                MessageBox.Show("Lütfen İlgili Tüm Alanları Doldurunuz");
                return;
            }
            try
            {

                int indeks = comboBoxTrenler.SelectedIndex;
                int VNo = int.Parse(textBoxVagonSirasi.Text);
                int KNo = int.Parse(textBoxVagonKaltukSirasi.Text);
                string Ad = comboBoxTrenler.Text;
                DateTime secilen = monthCalendar1.SelectionRange.Start;

                Islemler ism = new Islemler(VNo, KNo, secilen);

                foreach (Islemler bilet in Islem)
                {
                    if (bilet.VagonNo == VNo && bilet.KoltukNo == KNo && bilet.Tarih == secilen && bilet.TrenAdi == Ad)
                    {
                        dolumu = true;
                        break;
                    }
                }

                if (dolumu)
                {
                    MS("Koltuk Dolu Lütfen Başka Koltuk Seçiniz");
                    return;
                }

                ism.TrenAdi = comboBoxTrenler.Text;

                if (VNo > 5 || KNo > 10)
                {
                    MS("Öyle Koltuk Yeri Yok");
                    return;
                }

                switch (indeks)
                {
                    case 0: ism.Fiyat2(Tren1); break;
                    case 1: ism.Fiyat2(Tren2); break;
                    case 2: ism.Fiyat2(Tren3); break;
                }
                Islem.Add(ism);

                listView1.Items.Add(new ListViewItem(new string[] { ism.TrenAdi, VNo.ToString() + ". Vagon", KNo.ToString() + ". Koltuk",
                    ism.Tarih.ToShortDateString() + " Tarihi", ism.BiletFiyat.ToString() + " TL" }));
            }
            catch
            {
                MS("Lütfen Tüm Alanları Doğru Giriniz");
            }
        }

        private void buttonCamKenari_Click(object sender, EventArgs e)
        {

            bool dolumu = false;

            if (comboBoxTrenler.SelectedIndex == -1 || textBoxVagonSirasi.Text == null || textBoxVagonKaltukSirasi.Text == null)
            {
                MessageBox.Show("Lütfen İlgili Tüm Alanları Doldurunuz");
                return;
            }
            try
            {
                int indeks = comboBoxTrenler.SelectedIndex;
                int VNo = int.Parse(textBoxVagonSirasi.Text);
                int KNo = int.Parse(textBoxVagonKaltukSirasi.Text);
                DateTime secilen = monthCalendar1.SelectionRange.Start;
                string Ad = comboBoxTrenler.Text;

                foreach (Islemler bilet in Islem)
                {
                    if (bilet.VagonNo == VNo && bilet.KoltukNo == KNo && bilet.Tarih == secilen && bilet.TrenAdi == Ad)
                    {
                        dolumu = true;
                        break;
                    }
                }


                if (dolumu)
                {
                    MS("Koltuk Dolu Lütfen Baþka Koltuk Seçiniz");
                    return;
                }

                Islemler ism = new Islemler(VNo, KNo, secilen);

                ism.TrenAdi = comboBoxTrenler.Text;

                if (VNo > 5 || KNo > 10)
                {
                    MS("Öyle Koltuk Yeri Yok");
                    return;
                }

                switch (indeks)
                {
                    case 0: ism.Fiyat2(Tren1 + Tren1 * 0.05); break;
                    case 1: ism.Fiyat2(Tren2 + Tren2 * 0.05); break;
                    case 2: ism.Fiyat2(Tren3 + Tren3 * 0.05); break;
                }
                Islem.Add(ism);

                listView1.Items.Add(new ListViewItem(new string[] { ism.TrenAdi, VNo.ToString() + ". Vagon", KNo.ToString() + ". Koltuk",
                    ism.Tarih.ToShortDateString() + " Tarihi", ism.BiletFiyat.ToString() + " TL" }));
            }
            catch
            {
                MS("Lütfen Tüm Alanlarý Doðru Giriniz");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {

            labelBilgi.Text = "";


            if (comboBoxTrenler.SelectedIndex == -1)
            {
                MS("Lütfen Bilgi Almak Ýstediðiniz Treni Seçiniz");
            }
            else
            {
                Islemler ism = new Islemler();
                int indeks = comboBoxTrenler.SelectedIndex;
                string Ad = comboBoxTrenler.Text;


                switch (indeks)
                {
                    case 0: ism.BiletFiyat = Tren1; break;
                    case 1: ism.BiletFiyat = Tren2; break;
                    case 2: ism.BiletFiyat = Tren3; break;
                }
                labelBilgi.Text = "Tren Fiyatı = " + ism.BiletFiyat + " TL " + "| Tren Adı = " + Ad;
            }

        }

        private void buttonSil_Click(object sender, EventArgs e)
        {
            Sil();
        }
        private void Sil()
        {

            Islem.Clear();
            listView1.Clear();
            listView1.Columns.Add("Tren", 120);
            listView1.Columns.Add("Vagon No", 120);
            listView1.Columns.Add("Koltuk No", 120);
            listView1.Columns.Add("Tarih", 150);
            listView1.Columns.Add("Bilet Fiyatı", 120);
        }
    }
} 
 


 
Yükleniyor...
Yükleniyor...