Sınıf ve Nesnelere Giriş
Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 3 / 70.
Bir sınıf (class), nesne oluşturmak için kullanılan bir şablondur. Bir nesne (object), veri ve davranış içeren bir sınıfın örneğidir.
Özellikleri olan basit bir sınıf tanımlayın
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Nesneyi başlatmak için bir yapıcı ekleyin
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Davranış tanımlamak için bir metot ekleyin
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
public string Bark()
{
return $"{Name} says Woof!";
}
}Bir nesne (örnek) oluşturun ve onu kullanın
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Çıktı:
Buddy says Woof!
Age: 3new anahtar kelimesi, yapıcıyı (constructor) çağırarak sınıfın bir örneğini oluşturur. Aynı sınıftan, her biri farklı verilere sahip birden fazla nesne oluşturabilirsiniz.
Görev
KolayBir yapıcı (constructor) ve bir Drive() metodu ekleyerek Car sınıfını tamamlayın. Ardından Program.cs içinde bir Car nesnesi oluşturun ve onu kullanın.
Drive() metodu şunu döndürmelidir: "The {Brand} is driving!"
Kopya kağıdı
Bir sınıf (class), nesneler oluşturmak için bir taslaktır. Bir nesne (object), veri ve davranış içeren bir sınıfın örneğidir.
Özelliklere (properties) sahip bir sınıf tanımlayın:
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
}Nesneyi başlatmak için bir yapıcı metot (constructor) ekleyin:
public class Dog
{
public string Name { get; set; }
public int Age { get; set; }
public Dog(string name, int age)
{
Name = name;
Age = age;
}
}Davranışı tanımlamak için metotlar ekleyin:
public string Bark()
{
return $"{Name} says Woof!";
}new anahtar kelimesini kullanarak bir nesne oluşturun:
Dog myDog = new Dog("Buddy", 3);
Console.WriteLine(myDog.Bark());
Console.WriteLine($"Age: {myDog.Age}");Kendin dene
using System;
class Program
{
static void Main()
{
string brand = Console.ReadLine();
int year = int.Parse(Console.ReadLine());
// YAPILACAK: Giriş değerleriyle bir Car nesnesi oluşturun
// YAPILACAK: "Car: {brand} ({year})" yazdırın
// YAPILACAK: Drive() metodunu çağırın ve sonucu yazdırın
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1OOP Temelleri
Harici Dosyalarİsim Alanları ve YönergelerSınıf ve Nesnelere Giriş'this' Anahtar KelimesiMetotlar ve ParametrelerAlanlar ve ÖzelliklerYapıcı MetotlarNesne BaşlatıcılarÖzet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtım (:) Sözdizimi'base' Anahtar KelimesiVirtual ve Override Anahtar KelimeleriSealed Sınıflar'object' Temel SınıfıÖzet - Çalışan Hiyerarşisi7İleri Düzey Özellikler
Operatör Aşırı Yüklemeİndeksleyiciler (this[])ToString() Geçersiz KılmaGenişletme MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım Kalıplarına GirişThread-Safe SingletonFactory KalıbıObserver Kalıbı (Olaylar)Strategy Kalıbı2Özellikler ve Statik Üyeler
Otomatik Uygulanan ÖzelliklerSadece Okunur/Yazılır ÖzelliklerStatik Alanlar ve MetotlarStatik Sınıflarİfade Gövdeli Üyeler5Polimorfizm ve Arayüzler
Derleme vs Çalışma Zamanı PolimorfizmiArayüz vs Soyut SınıfÇoklu ArayüzlerBelirgin ArayüzlerUpcasting ve DowncastingÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kalıtım yerine KompozisyonGenerics (Sınıflar ve Metotlar)Delegates ve EventlerAttributes ve ReflectionIDisposable ve using İfadesiDependency Injection Temelleri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı3Sınıf Mimarisi
Örnek vs Statik Veri'readonly' ve 'const' Anahtar KelimeleriDestekleyici Alanlar (Backing Fields)Özet - Banka Hesabı Yöneticisi6Kapsülleme
Erişim BelirleyicilerKapsülleme için ÖzelliklerVeri Gizleme UygulamasıDeğişmezlik KalıplarıÖzet - Öğrenci Kayıtları