Tekrar - Sıcaklık Günlüğü
Coddy'nin Swift Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 16 / 57.
Görev
ZorKüçük bir sıcaklık günlüğü oluşturun. Scale enum'unu (celsius, fahrenheit; ham değerleri C ve F) ve sıcaklığı santigrat cinsinden saklayan Reading struct'ını tamamlayın. Reading, 20C veya 68F gibi metinleri okuyan (diğer tüm durumlarda nil döndüren) statik bir fabrika yöntemi olan parse(_:) yöntemine, hesaplanan fahrenheit özelliğine ve 20.0C / 68.0F döndüren hesaplanan bir label özelliğine sahiptir. TemperatureLog sınıfı, bir okuma dizisini ve her yeni rekoru new high 25.0C olarak kaydeden bir didSet gözlemcisine sahip highest özelliğini tutar.
Sağlanan kod, ayrıştırılan her okumayı günlüğe ekler (veya bad reading: x yazdırır), her okumanın etiketini yazdırır ve son olarak gözlemcinin topladığı kayıtları satır başına bir tane olacak şekilde yazdırır.
Kodunuz Scale.swift, Reading.swift ve TemperatureLog.swift dosyalarına gider. main.swift, sağlanan giriş/çıkış 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 log = TemperatureLog()
for line in input {
if let r = Reading.parse(line) {
log.add(r)
print(r.label)
} else {
print("bad reading: \(line)")
}
}
for record in log.records { print(record) }
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ç Alma3Özellikleri Derinlemesine İnceleme
Hesaplanan ÖzelliklerÖzellik GözlemcileriStatik ÜyelerMetotlu Enum'larTekrar - Sıcaklık GünlüğüKendi başına pratik yap: Swift playground