Özet - Metadata
- Dart kursu
- Orta seviye
- Ders 81/116
- 5 dk
annotation, @override ve reflection'ı birleştirerek bir annotation işleyici yazarsın.
Özet: Metadata
Bu grupta annotation'ları, @override ve @deprecated etiketlerini, özel annotation yazmayı ve dart:mirrors ile reflection'ı gördün. Annotation'lar koda üst veri katar; @override yanlış geçersiz kılmayı yakalar.
Şimdi bunları birleştireceğiz: özel bir annotation tanımlayıp bir metoda uygulayacağız. Bu, annotation'ların nasıl etiket taşıdığını gösterir.
Hatırla: annotation const constructor'lı bir sınıftır; @override önerilir; @deprecated uyarı verir.
Uygulama Review annotation
Bir Review annotation sınıfı tanımla: final String note alanı ve const Review(this.note) constructor'ı olsun. Bir Report sınıfı yaz; içinde @Review('önemli') void generate() { print('üretildi'); } metodu olsun. main içinde Report().generate() çağır.
Başlangıç kodu
// Review annotation sınıfını tanımla (note, const constructor)
// Report sınıfını ve generate metodunu tanımla
void main() {
// generate metodunu çağır
}Örnek çözüm
class Review {
final String note;
const Review(this.note);
}
class Report {
@Review('önemli')
void generate() {
print('üretildi');
}
}
void main() {
Report().generate();
}Beklenen çıktı
üretildi
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kavram eşleştirmesi
| Kavram | Anlamı |
|---|---|
@override |
Geçersiz kılma |
@deprecated |
Eskimiş işaret |
class Todo |
Özel annotation |
dart:mirrors |
Reflection |
2 Özel annotation neyden oluşur?
- Bir enum'dan
- Bir Future'dan
- const constructor'lı bir sınıftan Doğru cevap
- Bir abstract metoddan
Açıklama: özel annotation const constructor'lı bir sınıftır.
3 Annotation uygulama
@____('önemli')
void generate() {}
@Review('önemli')
void generate() {}
Açıklama: @Review ile annotation uygulanır.