Nesne Yönelimli Programlama (OOP)

Yazar: | 26 Temmuz 2016

Yazılım uygulamalarında nesne yönelimlilik veya object oriented programming (OOP) ile yazılım uygulamaları daha az kod yazmak değil ama daha rahat değişiklik ve düzenlemeye imkan sağlaması açısından oldukça önemlidir. Yazılımcıların zaten yazma ile ilgili bir problemi bulunmuyor ve yaz denildiği zaman on binlerce kod yazabilmektedir. Problem olan kısım ise değişikliktedir. Esnek yazılmayan bir uygulama daha sonraki değişikliklere müsaade etmediği için yazılımcının başını çok ağrıtmaktadır. Bu yüzden yazılım başlangıç aşamasında nesne yönelimli olarak yazılmasında fayda vardır. Nesne yönelimli yazılan bir uygulamada kullanıcının istediği değişiklik kısa sürede yapılmaktadır. Örneğin bir class oluşturup yapılacak olan kayıt başlıklarını bu class içinde tutulduğu zamandaha sonra başka bir ilgili kayıt başlığı bu class içine yazılabilir. Bir örnek ile açıklamaya çalışalım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _2_OOP
{
   public class Personel
    {
       public string Adi;
       public string Soyadi;
       public string SicilNo;
       public string TCKimlik;
       public decimal Maas;
       public DateTime IseGirisTarihi;

        void IseAl(Personel yenipersonel)
        {
            // veritabanına ekleme işi yapar. Her işlem uygun class içerisinde olması gerekli
        }

        decimal TazminatHesapla()
        {
            //hesaplama kodları bulunacaktır.
            return 0;
        }
       public void IstenCikar()
        {
            System.Windows.Forms.MessageBox.Show("Test");
          
        }
    }
}

Örnekte görüldüğü gibi personel adında bir class oluşturulur ve personel ile ilgili yapılması gerekenler bu class içinde belirlenir. Personel bilgileri, personel ile yapılacak örneğin işe alınma, kıdem tazminatı, işten çıkarılma gibi işlemler bu class içinde tanımlanır. Daha sonra yapılması istenilen bir değişiklik olursa bu class içinde kolayca değiştirilebilir. Örnekteki gibi işten IstenCikar işlemi bu class içinde tanımlandıktan sonra bu işlemi form da butona tıklandığı zaman çağırabilir ve aşağıdaki şekilde yazabiliriz.

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 _2_OOP
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
      

        Personeller personelform = new Personeller();
      
        private void button1_Click(object sender, EventArgs e)
        {
            Personel prs = new Personel(); // nesne ürettik
            prs.Adi = textBox1.Text;
            prs.Soyadi = textBox2.Text;
            prs.SicilNo = textBox3.Text;
            prs.Maas = numericUpDown1.Value;

            personelform.PersonelEkle(prs);

            textBox1.Text = textBox2.Text = textBox3.Text = "";
            numericUpDown1.Value = 0;
            textBox1.Focus();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            personelform.Show();
        }
       
    }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir