Menu
Coddy logo textTech

Proje Yapısı

Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 62 / 70.

challenge icon

Görev

Kolay

Kütüphane Sistemi projenizin temelini atalım! Gelecek derslerde eksiksiz bir kütüphane yönetim uygulamasına dönüşecek olan temel dosya yapısını oluşturacaksınız.

Kodunuzu, her biri belirli bir sorumluluğa sahip dört dosya halinde düzenleyeceksiniz:

  • Book.cs: Bu dosya Kitap modelinizi tutacaktır. Şimdilik, LibrarySystem ad alanında (namespace) üç adet otomatik uygulanan özelliğe (auto-implemented property) sahip bir Book sınıfı oluşturun: Title (string), Author (string) ve IsAvailable (bool, varsayılan olarak true). Başlık ve yazarı parametre olarak alan bir yapıcı metot (constructor) ekleyin.
  • User.cs: Bu dosya Kullanıcı modelinizi içerecektir. Aynı ad alanında iki özelliğe sahip bir User sınıfı oluşturun: Name (string) ve MemberId (int). Her iki değeri de kabul eden bir yapıcı metot ekleyin.
  • Library.cs: Temel mantığınızın yer alacağı yer burasıdır. Bir Name özelliğine (string) ve bunu ayarlamak için bir yapıcı metoda sahip bir Library sınıfı oluşturun. "{Name} Library System Initialized" formatında bir dize döndüren GetInfo() adlı bir metot ekleyin.
  • Program.cs: Burada her şeyi bir araya getirin. Bu, sınıflarınızın örneklerini oluşturacağınız ve yapının doğru çalışıp çalışmadığını doğrulayacağınız giriş noktanızdır.

Üç girdi alacaksınız:

  • Kütüphane adı
  • title|author formatında bir kitap girişi
  • name|memberId formatında bir kullanıcı girişi

Verilen adla bir Library örneği, sağlanan başlık ve yazarla bir Book ve sağlanan ad ve üye kimliğiyle bir User oluşturun. Ardından üç satır yazdırın:

  1. Kütüphanenizde GetInfo() metodunu çağırmanın sonucu
  2. Book: {Title} by {Author} - Available: {IsAvailable} formatında kitabın bilgileri
  3. User: {Name} (ID: {MemberId}) formatında kullanıcının bilgileri

Örneğin, girdiler şunlarsa:

City Central
The Great Gatsby|F. Scott Fitzgerald
Alice Johnson|1001

Çıktı şöyle olmalıdır:

City Central Library System Initialized
Book: The Great Gatsby by F. Scott Fitzgerald - Available: True
User: Alice Johnson (ID: 1001)

Bu yapı Tek Sorumluluk Prensibi'ni (Single Responsibility Principle) takip eder - her dosya belirli bir konuyla ilgilenir. Gelecek derslerde, bu sınıfları ödünç alma mantığı, arama işlevselliği ve tam bir konsol arayüzü ile genişleteceksiniz!

Kendin dene

using System;

namespace LibrarySystem
{
    class Program
    {
        public static void Main(string[] args)
        {
            // Girdileri oku
            string libraryName = Console.ReadLine();
            string bookInput = Console.ReadLine();
            string userInput = Console.ReadLine();

            // Kitap girdisini ayrıştır (format: title|author)
            string[] bookParts = bookInput.Split('|');
            string bookTitle = bookParts[0];
            string bookAuthor = bookParts[1];

            // Kullanıcı girdisini ayrıştır (format: name|memberId)
            string[] userParts = userInput.Split('|');
            string userName = userParts[0];
            int memberId = Convert.ToInt32(userParts[1]);

            // TODO: Kütüphane adıyla bir Library örneği oluşturun

            // TODO: Başlık ve yazarla bir Book örneği oluşturun

            // TODO: İsim ve üye kimliği ile bir User örneği oluşturun

            // TODO: GetInfo() kullanarak kütüphane bilgilerini yazdırın

            // TODO: Kitap bilgilerini şu formatta yazdırın: Book: {Title} by {Author} - Available: {IsAvailable}

            // TODO: Kullanıcı bilgilerini şu formatta yazdırın: User: {Name} (ID: {MemberId})
        }
    }
}

Nesne Yönelimli Programlama bölümündeki tüm dersler