REKLAM ALANI

Inheritance C#

avatar ^Phoenix^
քɦօɛռɨӼ ɖɨʐǟʏռ
251
#1
Yorumu Paylaş

Kod:
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 **** Form1_Load(object sender, EventArgs e)
{
//program penceresi açılırken radio butonlarından biri seçili olsun

rdbEgitmen.Checked = true;
}

private **** 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 **** TextleriTemizle()
{
foreach (Control item in groupBox1.Controls)
{
if (item is TextBox)
{
(item as TextBox).Clear();
}
}
}

private **** 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 **** 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 **** neAnlatacaksınToolStripMenuItem_Click(object sender, EventArgs e)
{
Egitmenler calisan = lstCalisanlar.SelectedItem as Egitmenler;

MessageBox.Show(calisan.BugunHangiKonuyuAnlatcaksin());
}

private **** paraSayımHızıToolStripMenuItem_Click(object sender, EventArgs e)
{
Muhasebeciler calisan = lstCalisanlar.SelectedItem as Muhasebeciler;

MessageBox.Show(calisan.SaniyedeKacKagitSayabilirsin.ToString());
}

private **** 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; }
}
}
deneme
քɦօɛռɨӼ ɖɨʐǟʏռ

Konuda Ara

0 Yorum


Konuyu Okuyanlar: