KONU: C Sharp Uygulamalar - C Sharp ( C# ) Sınıf oluşturma, sınıfa fields & properties ekleme ve miras alma örnekleri. C sharp sınıftan miras alma. C sharp metot oluşturma. C sharp Override ToString metot.
ETİKETLER: c sharp miras alma - c sharp class inheritance - c sharp field - c sharp field declaration - c sharp properties - c sharp field property - c sharp access modifier - c sharp field access modifier - c# access modifier - c# field - c# field nedir - c# fields - c# field and property - csharp class - csharp class örnekleri - csharp class tanımlama - csharp class oluşturma - csharp class kullanımı - csharp class constructor - c sharp sınıf tanımlama - c sharp sınıf oluşturma - c sharp alan tanımlama - listbox kullanımı - sınıf metot tanımlama - c sharp override ToString metot - context menü kullanma - csharp contextmenustrip - csharp context menu.
UYGULAMAYI İNDİR
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace OOP_inheritance
{
public partial class Form1 : Form
{
public Form1()
{
//Form üzerine sürükle bırak ile eklenen komponentlerin ilk değerlerini güncelleme
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//program penceresi açılırken radio butonlarından biri seçili olsun
rdbEgitmen.Checked = true;
}
private void btnImzala_Click(object sender, EventArgs e)
{
//Calisanlar sınıfından bir nesne oluşturalım
Calisanlar calisan;
//Radio butonlarından hangisi seçili ise o değere göre calisan nesnesinin bir
//örneğini oluşturalım
if (rdbEgitmen.Checked)
{
calisan = new Egitmenler();
}
else
{
calisan = new Muhasebeciler();
}
//calisan nesnesini özelliklerini formda girilen değelere göre güncelleyelim
calisan.Ad = txtAd.Text;
calisan.Soyad = txySoyad.Text;
calisan.Maas = nudMaas.Value;
//calisan nesnesini formdaki listbox listesine ekleyelim.
lstCalisanlar.Items.Add(calisan);
//ekleme işleminden sonra tüm textbox ları temizleyelim
TextleriTemizle();
}
private void TextleriTemizle()
{
foreach (Control item in groupBox1.Controls)
{
if (item is TextBox)
{
(item as TextBox).Clear();
}
}
}
private void lstCalisanlar_DoubleClick(object sender, EventArgs e)
{
//formdaki listbox üzerindeki herhangi bir satır çif tıklandığında bu metot
//çalışacak ve seçilen sıradaki calisan ile ilgili bilgileri messagebox ile gösterelim
//Eğer listboxdan seçil eleman indeksi -1 olarak dönerse hiç bir işlem
//yapmadan metodu sonlandır.
if (lstCalisanlar.SelectedIndex < 0)
{
return;
}
string seciliElemanTipi;
Calisanlar calisan = lstCalisanlar.SelectedItem as Calisanlar;
if (calisan == null)
{
MessageBox.Show("Herhangi bir çalışan seçmemişsiniz...");
}
else
{
seciliElemanTipi = calisan.GetType().Name;
decimal maas = calisan.Maas;
decimal maasArtis = calisan.Artis;
string mesaj = string.Format("{0} tipinden bir eleman seçmişsiniz." +
" Maaşı {1} TL ve yıllık artış oranı {2} dir ", seciliElemanTipi, maas, maasArtis);
MessageBox.Show(mesaj);
}
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
Calisanlar calisan = lstCalisanlar.SelectedItem as Calisanlar;
if (calisan == null)
{
e.Cancel = true;
}
if (calisan is Egitmenler)
{
contextMenuStrip1.Items[1].Enabled = false;
}
else
{
contextMenuStrip1.Items[1].Enabled = true;
}
if (calisan is Muhasebeciler)
{
contextMenuStrip1.Items[0].Enabled = false;
}
else
{
contextMenuStrip1.Items[0].Enabled = true;
}
}
private void neAnlatacaksınToolStripMenuItem_Click(object sender, EventArgs e)
{
Egitmenler calisan = lstCalisanlar.SelectedItem as Egitmenler;
MessageBox.Show(calisan.BugunHangiKonuyuAnlatcaksin());
}
private void paraSayımHızıToolStripMenuItem_Click(object sender, EventArgs e)
{
Muhasebeciler calisan = lstCalisanlar.SelectedItem as Muhasebeciler;
MessageBox.Show(calisan.SaniyedeKacKagitSayabilirsin.ToString());
}
private void lstCalisanlar_MouseClick(object sender, MouseEventArgs e)
{
//Listbox üzeirnde seçili olan elemanın üzerine sağ tıklandığında context menü
//açalım ve yaptığın işin özelliklerini messagebox ile gösterelim.
if (e.Button == MouseButtons.Right)
{
contextMenuStrip1.Show();
}
}
}
}
////////////////////////////////////////////////////////////////////////////
//Calisanlar sınıfı
////////////////////////////////////////////////////////////////////////////
class Calisanlar
{
public string Ad
{
get;
set;
}
public string Soyad
{
get;
set;
}
public decimal Maas
{
get;
set;
}
protected decimal artis;
public decimal Artis
{
get { return artis; }
//set { artis = value; }
}
public override string ToString()
{
return this.Ad + " " + this.Soyad;
}
}
////////////////////////////////////////////////////////////////////////////
//Egitmenler sınıfı
////////////////////////////////////////////////////////////////////////////
class Egitmenler : Calisanlar
{
public Egitmenler()
{
this.artis = 0.1M;
}
//Egitmeler sınıfına public olarak bir metot ekleyelim
public string BugunHangiKonuyuAnlatcaksin()
{
return "OOP anlatmayi planliyorum!!!";
}
}
////////////////////////////////////////////////////////////////////////////
//Muhasebeciler sınıfı
////////////////////////////////////////////////////////////////////////////
class Muhasebeciler : Calisanlar
{
public Muhasebeciler()
{
this.artis = 0.05M;
saniyedeKaçKagit = new Random().Next(2, 10);
}
// Mehasebeciler sınfına bir alan (field) ekleyelim
int saniyedeKaçKagit;
//Muhasebeciler sınıfına public bir özellik ekleyelim.
public int SaniyedeKacKagitSayabilirsin
{
get { return saniyedeKaçKagit; }
}
}

Hiç yorum yok :
Yorum Gönder