Metadata
- Dart kursu
- Orta seviye
- Ders 76/116
- 5 dk
@annotation ile metadata öğrenirsin.
Annotation ile üst veri
Bir annotation (üst veri), bir kod öğesinin üstüne eklenen etikettir. Dart'ta @ işaretiyle başlar; örneğin @override. Annotation'lar derleyiciye ve araçlara ek bilgi verir.
En bilinen örnek @override'dir. Bir alt sınıf metodu üst sınıfın metodunu yeniden tanımladığında @override yazılır. Bu, toString gibi yöntemleri geçersiz kılmak için yaygındır.
Annotation'lar sınıfları, metotları, alanları ve parametreleri etiketleyebilir. Kendi annotation'ını da yazabilirsin; bir sonraki derste bunu göreceğiz.
Annotation nereye eklenir?
Annotation'lar birçok kod öğesine eklenebilir. Bir sınıfın, metodun, alanın ya da parametrenin üstüne yazılır. Örneğin @Deprecated('eski') bir metodu eskimiş olarak işaretler.
Birden fazla annotation yan yana yazılabilir: @override @Deprecated('eski'). Dart hepsini soldan sağa okur.
Annotation'lar araçlar için sinyaldır. @override yanlış bir geçersiz kılma yapıldığında derleyiciyi uyarır; @deprecated ise kullanıcıyı yeni bir yönteme yönlendirir.
Uygulama Point ve @override
Bir Point sınıfı tanımla: int x ve int y alanları, Point(this.x, this.y) constructor'ı olsun. @override ile işaretlenmiş bir String toString() metodu ekle; '($x, $y)' döndürsün. main içinde Point(3, 4) oluştur ve print ile yazdır.
Başlangıç kodu
// Point sınıfını tanımla: x, y, constructor ve toString metodu
void main() {
// bir Point oluştur ve yazdır
}Örnek çözüm
class Point {
int x;
int y;
Point(this.x, this.y);
@override
String toString() => '($x, $y)';
}
void main() {
print(Point(3, 4));
}Beklenen çıktı
(3, 4)
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Annotation ne işe yarar?
- Koda üst veri ekler Doğru cevap
- Bir değişkeni siler
- Bir döngüyü durdurur
- Bir sınıfı kalıtım yapar
Açıklama: annotation koda üst veri ekler.
2 @override yazımı
class Dog extends Animal {
@____
String toString() => 'Köpek';
}
class Dog extends Animal {
@override
String toString() => 'Köpek';
}
Açıklama: @override küçük harfle yazılır.
3 Annotation parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
@override |
Geçersiz kılma |
@ |
Annotation işareti |
@deprecated |
Eskimiş işaret |
toString() |
Geçersiz kılınan metod |