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.csusing 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
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 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
Örnek

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

