CodeBlanks Logo Icon CodeBlanks

Model tasarımı

C# kursu · Orta seviye · Ders 65/116

Book ve Member sınıflarının iskeletini tasarlarsın.

Proje: Kütüphane uygulaması

Bu 5 derslik projede bir kütüphane uygulaması yapacaksın. Her derste bir parça ekleyecek, son derste çalışan bir konsol programı elde edeceksin. Önce veri modellerini, sonra yönetim sınıfını, en son menüyü yazacaksın.

Bu derste iki temel modeli tanımlayacaksın: Book ve Member. Her model bir sınıftır; özellikleri (properties) otomatik özellik olarak yazılır. Book için başlık, yazar ve ödünç durumu; Member için isim ve ödünç sayısı tutacağız.

Nesne başlatıcı ile örnek üretmek

Bir sınıfın özelliklerini örnek üretirken anında doldurabilirsin. Buna nesne başlatıcı (object initializer) denir. new Book { Title = "Çalıkuşu", Author = "Reşat Nuri" } yazısı yeni bir Book üretir ve iki özelliğini atar.

Bu yöntem, parametreli yapıcı metot yazmaktan daha esnektir; özelliği atlamak istersen boş bırakabilirsin. Bu projede modelleri basit tutacağımız için hep nesne başlatıcı kullanacağız.

Uygulama Book ve Member sınıflarını tanımla

Book sınıfı tanımla; public string Title, public string Author, public bool IsBorrowed otomatik özellikleri olsun. Member sınıfı tanımla; public string Name, public int BorrowedCount otomatik özellikleri olsun. Main içinde birer örnek üretip Console.WriteLine ile kitabın başlığını ve üyenin adını yaz.

Örnek çözümü göster
class Book { public string Title { get; set; } public string Author { get; set; } public bool IsBorrowed { get; set; } } yaz. class Member { public string Name { get; set; } public int BorrowedCount { get; set; } } yaz. Main'de new Book { Title="Çalıkuşu", Author="Reşat Nuri" } ve new Member { Name="Ayşe" } üretip WriteLine ile yaz.
Örnek çözüm:
using System;

class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
    public bool IsBorrowed { get; set; }
}

class Member
{
    public string Name { get; set; }
    public int BorrowedCount { get; set; }
}

class Program
{
    static void Main()
    {
        var book = new Book { Title = "Çalıkuşu", Author = "Reşat Nuri" };
        var member = new Member { Name = "Ayşe" };
        Console.WriteLine(book.Title);
        Console.WriteLine(member.Name);
    }
}

Kendini test et

  1. Otomatik özellik nasıl bildirilir?

    • public string Title { get; set; }
    • string Title;
    • public string Title;
    • var Title = string;
    Cevabı göster

    public string Title { get; set; } — Doğru. get; set; ile otomatik özellik bildirilir.

  2. Nesne başlatıcı sözdizimi

    var book = new Book ____ Title = "Çalıkuşu", Author = "Reşat Nuri" };
    Cevabı göster
    var book = new Book { Title = "Çalıkuşu", Author = "Reşat Nuri" };
  3. Sınıf parçasını görevine eşle

    class
    Sınıf şablonu
    new
    Örnek üretir
    public
    Her yerden erişim
    string
    Metin türü

Orta seviye bölümündeki tüm dersler