CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

Başlangıç finali iskeletini tasarlarsın.

Proje: Kütüphane katalog

Bu beş derslik başlangıç finalınde öğrendiğin her şeyi birleştiren bir kütüphane katalog uygulaması yapacaksın. İlk derste bir Book sınıfı tanımlar ve bir kitabı yazdırırsın.

Sonraki derslerde bu temel üstüne kitap ekleme, ödünç verme, hata yönetimi ve menü katmanları ekleyeceksin. Her ders bir code adımıyla bir parça ekler; başlangıç kodu önceki dersin çözümünü içerir. Bu, gerçek bir uygulamanın nasıl büyüdüğünü gösterir.

Book sınıfı tasarımı

Bir Book sınıfı bir kitabın başlığını (title) ve müsaitlik durumunu (available) taşır. Yapıcı metot başlığı atar ve müsaitliği true yapar. toString ise durumu okunaklı biçimde gösterir.

class Book {
  String title;
  boolean available;
  Book(String title) {
    this.title = title;
    this.available = true;
  }
}

toString müsaitse [müsait] başlık, değilse [ödünç] başlık döndürür. Böylece listeyi yazdırdığında her kitabın durumu görünür. Bu sınıf projenin temel taşıdır.

Uygulama Book sınıfını tanımla

Book sınıfını tanımla: String title ve boolean available alanları, Book(String title) yapıcısı (available'ı true yap) ve toString() yöntemi (müsaitse [müsait] değilse [ödünç] önekiyle başlık). main'de bir Book oluştur ve yazdır.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    // Bir Book oluştur ve yazdır
  }
}

class Book {
  // title (String) ve available (boolean) alanlarını tanımla
  // Yapıcı: title'ı ata, available'ı true yap
  // toString: müsait ise "[müsait] title", değilse "[ödünç] title"
}

Örnek çözüm

Main.java
class Book {
  String title;
  boolean available;
  Book(String title) {
    this.title = title;
    this.available = true;
  }
  public String toString() {
    return (available ? "[müsait] " : "[ödünç] ") + title;
  }
}
// main içinde:
Book b = new Book("Suç ve Ceza");
System.out.println(b);

Beklenen çıktı

[müsait] Suç ve Ceza

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bu projede ne yöneteceğiz?

  • Kitapları Doğru cevap
  • Müşterileri
  • Siparişleri
  • Faturaları

Açıklama: proje bir kütüphane katalog uygulaması; kitapları ekler ve ödünç verirsin.

2 available alanını tanımla

Soru
class Book {
  String title;
  ____ available;
}
Cevap
class Book {
  String title;
  boolean available;
}

Açıklama: available bir doğru/yanlış değeridir, bu yüzden boolean olur.

3 Parçayı amacıyla eşleştir

Kavram Anlamı
title Kitap başlığı
available Müsaitlik
Book(String) Yapıcı metot
toString() Dize gösterim

Başlangıç bölümündeki tüm dersler