Özet - Şekil Oluşturucu
Coddy'nin Dart Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 16 / 110.
Görev
KolayBu bölümde öğrendiğiniz tüm yapıcı (constructor) tekniklerini bir araya getiren bir Rectangle sınıfı oluşturalım. Birden fazla şekilde örneklenebilen çok yönlü bir şekil sınıfı oluşturacaksınız.
Kodunuzu iki dosya halinde düzenleyeceksiniz:
rectangle.dart: Aşağıdakileri içeren birRectanglesınıfı tanımlayın:- İki
final doublealan:widthveheight - İki hesaplanmış
final doublealan:areaveperimeter widthveheightalanlarını alan,area(genişlik × yükseklik) veperimeter(2 × (genişlik + yükseklik)) değerlerini hesaplamak için bir başlatıcı listesi (initializer list) kullanan bir ana yapıcı- Eşit genişlik ve yükseklik ile ana yapıcıya yönlendirme yapan isimlendirilmiş bir yapıcı:
Rectangle.square(double side) - Altın oranı (yükseklik = genişlik × 1.618) kullanarak bir dikdörtgen oluşturan ve ana yapıcıya yönlendirme yapan isimlendirilmiş bir yapıcı:
Rectangle.golden(double width) - 1×1 boyutunda bir dikdörtgen oluşturan sabit bir yapıcı:
Rectangle.unit()(bunun için ayrı bir const yapıcıya ihtiyacınız olacak) - Dikdörtgenin bilgilerini yazdıran bir
display()metodu
- İki
main.dart: Dikdörtgen sınıfınızı içe aktarın ve dört dikdörtgen oluşturun:- Genişliği
4.0ve yüksekliği3.0olan özel bir dikdörtgen - Kenarı
5.0olan bir kare - Genişliği
10.0olan bir altın dikdörtgen - Sabit yapıcıyı kullanan bir birim dikdörtgen (bunu bir derleme zamanı sabiti olarak oluşturun)
display()metodunu çağırın.- Genişliği
display() metodu tam olarak şu formatta çıktı vermelidir:
Rectangle [width]x[height] | Area: [area] | Perimeter: [perimeter]Beklenen çıktı:
Rectangle 4.0x3.0 | Area: 12.0 | Perimeter: 14.0
Rectangle 5.0x5.0 | Area: 25.0 | Perimeter: 20.0
Rectangle 10.0x16.18 | Area: 161.8 | Perimeter: 52.36
Rectangle 1.0x1.0 | Area: 1.0 | Perimeter: 4.0Kendin dene
import 'rectangle.dart';
void main() {
// TODO: Genişliği 4.0 ve yüksekliği 3.0 olan özel bir dikdörtgen oluşturun
// TODO: Kenarı 5.0 olan bir kare oluşturun
// TODO: Genişliği 10.0 olan bir altın dikdörtgen oluşturun
// TODO: Sabit yapıcıyı kullanarak bir birim dikdörtgen oluşturun
// ('const' kullanarak derleme zamanı sabiti olarak oluşturun)
// TODO: Yukarıda listelenen sırayla her dikdörtgen üzerinde display() metodunu çağırın
}
Nesne Yönelimli Programlama bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarKütüphaneler ve ImportlarOOP'ye GirişSınıflar ve Nesnelerthis Anahtar KelimesiMetotlarÖrnek DeğişkenleriConstructor TemelleriÖzet - Basit Hesap Makinesi4Null Safety
Null Safety'ye GirişNullable ve Non-Nullable? ve ! OperatörleriLate Anahtar Kelimesi ve Null SafetyNull-Aware OperatörleriSınıflarda Null SafetyÖzet - Kullanıcı Profili Sistemi7Soyut Sınıflar ve Arayüzler
Soyut SınıflarSoyut MetotlarDart'ta ArayüzlerÖrtük ArayüzlerUygulama vs. GenişletmeÇoklu ArayüzlerÖzet - Şekil Hesaplayıcı10Koleksiyonlar ve Generic'ler
List, Set, Map Genel BakışTip Güvenli KoleksiyonlarGeneric SınıflarGeneric MetotlarGeneric KısıtlamalarIterable ve IteratorÖzet - Generic Depolama2Dart'ta Yapıcılar
Varsayılan Yapıcıİsimlendirilmiş Yapıcılarİlklendirme ListeleriSabit YapıcılarFabrika YapıcılarıYönlendiren YapıcılarÖzet - Şekil Oluşturucu5Kapsülleme
Public ve Private Üyeler_ Öneki KuralıKütüphane Düzeyinde GizlilikGetter ve Setter DetaylarıBilgi GizlemeÖzet - Öğrenci Kayıtları8Mixin'ler
Mixin'lere GirişMixin OluşturmaBirden Fazla Mixin KullanımıMixin'lerde on Anahtar KelimesiMixin vs KalıtımMixin vs ArayüzÖzet - Hayvan Sistemi11Özel Metotlar
toString() OverridehashCode ve == OverrideComparable Arayüzücall() MetodunoSuchMethod OverrideÖzet - Özel Koleksiyon14Tasarım Kalıpları Bölüm 1
Tasarım Kalıplarına GirişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı17Final Meydan Okumaları
E-Öğrenme PlatformuBankacılık SistemiOyun Karakter SistemiAraç Kiralama Servisi3Sınıf Özellikleri
Instance ve Statik ÜyelerFinal ve Const AlanlarLate DeğişkenlerStatik Metotlar ve AlanlarGetters ve SettersÖzet - Banka Hesabı Yöneticisi6Kalıtım
Temel Kalıtımsuper Anahtar KelimesiMetot Ezme@override Anotasyonufinal Sınıf Anahtar KelimesiYapıcı Metotlar ve KalıtımÖzet - Çalışan Hiyerarşisi9Çok Biçimlilik
Çok Biçimlilik TemelleriInterface'ler ile Çok BiçimlilikÇalışma Zamanı Tip Kontrolüis ve as OperatörleriCovariant Anahtar KelimesiÖzet - Ödeme İşlemcisi12Asenkron OOP
Futures ve async/awaitStream TemelleriStream Controller'larAsenkron KurucularSınıf Metotlarında Asenkron KullanımıÖzet - Data Fetcher15Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit KalıbıRepository Kalıbı