CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

Orta seviye finali iskeletini tasarlarsın.

Proje: Sipariş takip

Bu beş derslik projede bir sipariş takip uygulaması yapacaksın. Her derste bir parça ekleyecek, son derste çalışan bir mini komut satırı uygulamasını tamamlayacaksın. Önceki gruplardaki sınıf (class), List, lambda ve Stream API kavramlarını bir arada kullanacaksın.

İlk olarak bir Order sınıfı tasarlayacaksın: id, customer ve amount alanlarını tutan basit bir veri taşıyıcı. Sonraki derslerde OrderBook sınıfı ile sipariş koleksiyonunu yönetecek, Stream ile filtreleyecek ve dosyaya kaydedeceksin.

OrderBook sınıfı

Siparişleri tek tek tutmak yerine bir koleksiyonda toplamak gerekir. OrderBook sınıfı bu işi üstlenir: orders adında bir List<Order> tutar ve add metodu ile yeni siparişler ekler. Sonraki derslerde bu sınıfa listAll, largeOrders, save ve load metotlarını ekleyeceksin.

Bu tasarımda Order ile OrderBook arasında composition ilişkisi vardır: OrderBook, Order listesini içerir. Order bağımsız bir sınıf olarak kalır.

Uygulama Order sınıfını tanımla

class Order tanımla; String id, String customer ve int amount alanları ile bunları atayan Order(String id, String customer, int amount) yapıcısı olsun. main içinde Order o = new Order("1", "Ayşe", 50); ile bir sipariş oluştur ve System.out.println(o.customer); ile müşteri adını yazdır.

Başlangıç kodu

Main.java
// Order sınıfını tanımla: id, customer, amount alanları ve yapıcısı

// main: bir Order örneği oluştur ve müşteri adını yazdır

Örnek çözüm

Main.java
class Order {
    String id;
    String customer;
    int amount;
    Order(String id, String customer, int amount) {
        this.id = id;
        this.customer = customer;
        this.amount = amount;
    }
}

public class Main {
    public static void main(String[] args) {
        Order o = new Order("1", "Ayşe", 50);
        System.out.println(o.customer);
    }
}

Beklenen çıktı

Ayşe

Soru ve cevaplar

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

1 Order sınıfının görevi nedir?

  • Siparişleri dosyaya yazmak
  • Sipariş verilerini tutmak Doğru cevap
  • Siparişleri süzmek
  • Kullanıcıdan girdi almak

Açıklama: Order, bir siparişin id, customer ve amount gibi verilerini tutar.

2 Yapıcı gövdesini tamamla

Soru
Order(String id, String customer, int amount) {
    this.id = id;
    this.customer = customer;
    this.____ = amount;
}
Cevap
Order(String id, String customer, int amount) {
    this.id = id;
    this.customer = customer;
    this.amount = amount;
}

Açıklama: this.amount ataması parametreyi alana kopyalar.

3 Proje kavramlarını eşleştir

Kavram Anlamı
Order Tek sipariş verisi
OrderBook Sipariş koleksiyonu
id Sipariş kimliği
amount Sipariş tutarı

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