Dart
Birleştirme
Sepet sınıfını menü döngüsüyle birleştirirsin.
Birleştirme
Tüm parçalar hazır: Cart sınıfı, addItem, getSubtotal ve printCart metotları. Şimdi bunları main akışında birleştirip sepette iki ürün oluşturacak, sepeti yazdıracak ve hem ara toplamı hem de vergili toplamı göstereceğiz.
Bu aşamada her metot kendi görevini yapar; main yalnızca sırayla çağırır. İyi tasarlanmış bir program, metotların küçük ve odaklanmış olmasıyla ölçeklenir. Sepete daha sonra yeni bir özellik eklemek istersen, ilgili metodu değiştirmen yeterli olur.
Menü döngüsü
Bu projedeki main akışı basit: iki ürün ekle, sepeti yazdır, ara toplam ve vergili toplamı göster. Gerçek bir uygulamada, kullanıcıdan sürekli giriş almak için bir menü döngüsü kurulabilir; kullanıcı 'çıkış' yazana kadar döngü devam eder.
Bu derste main tek seferlik bir akış olacak. while ve do-while döngülerini önceki bölümde öğrendin; ileride bunlarla bir menü döngüsü kurabilirsin. Şimdilik tüm parçaların doğru sırayla çağrıldığını doğrulamak önemli.
Uygulama main fonksiyonunu yaz
Bir main fonksiyonu yaz. var cart = Cart(); ile sepet yarat. cart.addItem("Defter", 25.0); ve cart.addItem("Kalem", 10.0); ile iki ürün ekle. cart.printCart(); ile sepeti yazdır. print(cart.getSubtotal()); ile ara toplamı, print(cart.getSubtotal() * 1.20); ile vergili toplamı yazdır. Çıktı 4 satır olmalı: Defter 25.0, Kalem 10.0, 35.0, 42.0.
Örnek çözümü göster
class Cart {
List<String> names = [];
List<double> prices = [];
void addItem(String name, double price) {
names.add(name);
prices.add(price);
}
double getSubtotal() {
double sum = 0;
for (var p in prices) {
sum += p;
}
return sum;
}
void printCart() {
for (var i = 0; i < names.length; i++) {
print("${names[i]} ${prices[i]}");
}
}
}
}
void main() {
var cart = Cart();
cart.addItem("Defter", 25.0);
cart.addItem("Kalem", 10.0);
cart.printCart();
print(cart.getSubtotal());
print(cart.getSubtotal() * 1.20);
}
Kendini test et
-
vergili toplam satırını yaz
cart.printCart();
print(cart.getSubtotal());
print(cart.getSubtotal() ____);
Cevabı göster
cart.printCart();
print(cart.getSubtotal());
print(cart.getSubtotal() * 1.20);
-
Birleştirme aşamasında hangi yapı tüm parçaları çağırır?
// tümleşik akış
- for
- class
- main fonksiyonu
- if
Cevabı göster
main fonksiyonu — main fonksiyonu tüm metotları sırayla çağırır.
-
Parçayı işleve eşle
- addItem
- Sepete ürün ekler
- printCart
- Sepeti gösterir
- getSubtotal
- Ara toplamı verir
- * 1.20
- Vergili toplamı verir
Sıradaki ders: List oluşturma