Ana Sayfa Hakkımda Dersler Blog Mikrofonda İletişim Projeler
Dersler TEMEL · C#

C# Temelleri — Class ve Object

9 dk okuma · Emre Ulutabak
1
Class nedir?

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.

csharp
class Araba
{
    public string Marka;
    public int Yil;
}
💡
Class, gerçek nesneyi değil, onun nasıl görüneceğini tarif eder.
2
Object nedir?

Ş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.

csharp
Araba araba1 = new Araba();
araba1.Marka = "Toyota";
araba1.Yil = 2022;
💡
new anahtar kelimesiyle class'tan gerçek bir nesne üretirsin.
3
Örnek mantığı

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.

csharp
Araba araba1 = new Araba();
araba1.Marka = "BMW";

Araba araba2 = new Araba();
araba2.Marka = "Mercedes";
💡
Aynı class, farklı veriler taşıyan birçok object üretebilir.
4
Property ve metot

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.

csharp
class Araba
{
    public string Marka;

    public void Calistir()
    {
        Console.WriteLine("Araba çalıştı.");
    }
}
💡
Property nesnenin bilgisini, metot ise davranışını temsil eder.
5
Altın kurallar

Class ve object konusu nesne yönelimli programlamanın temelidir. Başta soyut gelebilir ama örneklerle çok hızlı oturur.

💡
Class'ı kalıp, object'i o kalıptan çıkan gerçek ürün gibi düşün.
💡
Bir class çok şey yapıyorsa sadeleştirmeyi düşün.
💡
İsimlendirme çok önemlidir. Class isimleri genelde isim olur: Araba, Musteri, Siparis gibi.
MİNİ QUIZ
Aşağıdakilerden hangisi doğrudur?
Object, class'ın planıdır
Class, object üretmek için kullanılan şablondur
new anahtar kelimesi class'ı siler
Bir class'tan sadece bir object üretilebilir