Java
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.
Örnek çözümü göster
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);
}
}
Kendini test et
-
Order sınıfının görevi nedir?
- Siparişleri dosyaya yazmak
- Sipariş verilerini tutmak
- Siparişleri süzmek
- Kullanıcıdan girdi almak
Cevabı göster
Sipariş verilerini tutmak — Order, bir siparişin id, customer ve amount gibi verilerini tutar.
-
Yapıcı gövdesini tamamla
Order(String id, String customer, int amount) {
this.id = id;
this.customer = customer;
this.____ = amount;
}
Cevabı göster
Order(String id, String customer, int amount) {
this.id = id;
this.customer = customer;
this.amount = amount;
}
-
Proje kavramlarını eşleştir
- Order
- Tek sipariş verisi
- OrderBook
- Sipariş koleksiyonu
- id
- Sipariş kimliği
- amount
- Sipariş tutarı
Sıradaki ders: OOP modeli