Tekrar - Envanter Öğesi
Coddy'nin Swift Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 11 / 57.
Görev
OrtaStockItem yapısını name ve quantity özellikleriyle tamamlayın. receive(_:) (ekler) ve ship(_:) (yalnızca stokta yeterli miktar olduğunda çıkarır ve işlemi gerçekleştirip gerçekleştirmediğini döndürür) değiştirici yöntemlerini ve miktar 0 olduğunda tea: 12 veya tea: out of stock döndüren, değişiklik yapmayan bir label() yöntemi ekleyin.
Ardından process(start:commands:) işlevini tamamlayın: öğeyi oluşturur, ilk komuttan önce opening adlı bir kopyasını saklar, komutları uygular ve reddedilen her gönderim için bir satır (cannot ship 5) döndürür; ardından öğenin etiketinin önüne now ve opening etiketinin önüne was ekler.
Sağlanan kod, öğeyi name,quantity biçiminde ve komutları +n veya -n biçiminde okur ve döndürülen her satırı yazdırır.
Kodunuz StockItem.swift ve Functions.swift dosyalarına gelmelidir. main.swift sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.
Kendin dene
// Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
var input: [String] = []
while let line = readLine() { input.append(line) }
let p = input[0].split(separator: ",").map(String.init)
let item = StockItem(name: p[0], quantity: Int(p[1])!)
for line in process(start: item, commands: Array(input.dropFirst())) { print(line) }
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Sınıflar ve Nesneler
Dosyalarla ÇalışmaSınıfları TanımlamaMetotlar ve selfBaşlatıcılarSınıflar ReferanstırTekrar - Kütüphane Kartı4Kapsülleme
Erişim DenetimiDışarıdan Salt OkunurDurumu KorumaBaşarısız Olabilen BaşlatıcılarTekrar - Banka Hesabı7Polimorfizm ve Generic'ler
PolimorfizmTür DönüşümüGeneric FonksiyonlarGeneric TürlerTekrar - Şekil Hesaplayıcı2Struct Yapıları ve Değer Türleri
Struct YapılarıDeğer SemantiğiDeğiştirici MetotlarStruct mı Class mıTekrar - Envanter Öğesi5Kalıtım
Alt sınıflarMetotları Geçersiz KılmaBaşlatıcılar ve superfinal ve HiyerarşilerTekrar - Çalışan Hiyerarşisi11Proje: Kütüphane Yönetimi
Kitaplar ve ÜyelerKitap Ödünç AlmaKendi başına pratik yap: Swift playground