Bir araba üretmek istediğini düşün. Önce tasarım gerekir: kaç kapılı olacak, rengi ne olacak, motor tipi ne olacak. Bu tasarımın kendisi henüz gerçek araba değildir.
Yazılımda buna benzer yapı class'tır. Class, bir nesnenin planı ya da şablonudur.
class Araba
{
public string Marka;
public int Yil;
}
Şablondan gerçek bir örnek ürettiğinde artık elinde bir nesne vardır. İşte bu nesneye object denir.
Yani class plan ise, object o planın hayata geçmiş halidir.
Araba araba1 = new Araba();
araba1.Marka = "Toyota";
araba1.Yil = 2022;
Aynı class'tan birden fazla object üretilebilir. Aynı model telefondan farklı renklerde ve sahiplerde birçok cihaz olması gibi düşünebilirsin.
Hepsi aynı şablondan gelir ama her nesnenin değeri farklı olabilir.
Araba araba1 = new Araba();
araba1.Marka = "BMW";
Araba araba2 = new Araba();
araba2.Marka = "Mercedes";
Bir class içinde veriler olabilir, bunlar property ya da alan gibi düşünülür. Aynı zamanda davranışlar da olabilir; bunlara metot denir.
Yani nesne hem bilgi taşır hem de iş yapabilir.
class Araba
{
public string Marka;
public void Calistir()
{
Console.WriteLine("Araba çalıştı.");
}
}
Class ve object konusu nesne yönelimli programlamanın temelidir. Başta soyut gelebilir ama örneklerle çok hızlı oturur.