Merhaba,
Bir otomobilin neyi olur?
Markası,model,üretim yılı,motor hacmi,rengi,vites tipi… gibi birçok özelliği olabilir.
Peki bir otomobil ne yapabilir?
Hızlanabilir,yavaşlayabilir,fren yapabilir,patinaj çekebilir 🙂 gibi gibi birçok fonksiyonu olabilir.
Buna göre bir otomobil sınıfı oluşturalım ve bu sınıfın içine otomobilin özelliklerini yazalım.
Visual Studio ile yeni bir Windows Form projesi oluşturduktan sonra aşağıdaki gibi projemize bir class (sınıf) ekliyoruz:
Sınıfımızı oluşturduktan sonra ekranda şu şekilde bir C# sınıfı oluşuyor:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OOPGALERIUYG
{
class otomobil
{
}
}
Şu an da karşımızda boş bir sınıf var ve biz bu sınıftan yepyeni bir programlama tekniğine geçiyoruz,bunun adı
object orianted programming!
İlk yapmamız gereken bu sınıfı daha sonra form uygulamamızda kullanabilmek için “class” sözcüğünün soluna “public”
deyimini yazmak.
Bu yazdığımız kodlar bir otomobile ait olabilecek özellikleri temsil etmektedir ve dikkat ederseniz her property’nin tipi bildiğimiz ilkel değişken tiplerinden olan string,int,decimal gibi ifadelerle temsil edilmektedir.
Propertylerin her birine baktığımızda sonlarında get ve set sözcükleri yer almaktadır,bunların açılımı ise bu sınıftan
oluşturulacak bir instance (örnek kopya) ile değer atanıp okunmasıyla ilgili bir konudur.
Buraya kadar yazdığımız kodlar otomobilin özelliklerini barındırıyorken henüz fonksiyonlarını yazmadık,o halde yazalım:
Şimdiye kadar yazdığımız kodlar bir otomobilin yazılım dilinde modellenmiş halidir ama bunlar ne işimize yarayacak?
Nesne yönelimli programlama konusu;
string degisken=”değer”;
kod satırından çok daha fazlasını sunuyor ve bu şekilde tek tek düz bir programlama ile bir otomobile ait metot ve özellikleri yazıp değerlerini atamak oldukça zahmetli kod yazmanın yanı sıra oldukça vakit kaybı yaratmaktadır.
Peki bu sınıfı oluşturduysak nasıl kullanacağız?
Dinamik bir sınıfı kasten erişime engellemediğimiz sürece “new” (yeni) anahtar kelimesiyle yukarıdaki gibi çağırabiliriz.Bu basit ve tek satır olan kod bize otomobil sınıfına yazdığımız tüm özellik ve metotları çok kolay bir biçimde şu şekilde getiriyor:
Gördüğünüz gibi sınıfı oluştururken yazdığımız metotlar ve özellikler sadece 1-2 satırda ve yeniden yazmaya gerek kalmadan rahatlıkla kullanılabiliyor,o halde otomobil sınıfımız bir harita “new” sözcüğüyle aldığımız instance ise otomobilin kendisidir diyebiliriz.Şimdi otomobil sınıfına ait bilgileri dolduruyor ve üretime başlıyoruz:
Geri dönüş değerli olmayan bir metot ile markayı çağıralım ve bunu messagebox. show ile ekrana yazdıralım.
public string Markagetir()
{
return Marka;
}
Böylece bir sınıfa ait değer döndüren metodun nasıl kullanıldığınıda öğrenmiş olduk 🙂