Proje tasarımı
- Java kursu
- Orta seviye
- Ders 112/116
- 6 dk
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
// 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
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
Order(String id, String customer, int amount) {
this.id = id;
this.customer = customer;
this.____ = amount;
}
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ı |