@deprecated
- Dart kursu
- Orta seviye
- Ders 79/116
- 5 dk
@deprecated annotation'ını öğrenirsin.
@deprecated ile eskime
@deprecated bir metodun ya da sınıfın artık kullanılmaması gerektiğini belirtir. İki biçimi vardır: @deprecated (ileti yok) ve @Deprecated('neden') (ileti var).
Örnek: @Deprecated('yerine useNew() kullan') void oldApi() { ... }. Bu etiketi gören araçlar kullanıcıya bir uyarı gösterir.
Eskimiş bir API'yi kaldırmadan önce @deprecated ile işaretlemek iyi bir yöntemdir. Kullanıcılara geçiş süresi tanır.
Geçiş ve ileti
@Deprecated('mesaj') içindeki ileti, kullanıcıya ne yapması gerektiğini söyler. Örneğin @Deprecated('yerine fetchUser kullan') yeni yöntemi önerir.
Eskimiş bir metodu çağırdığında IDE üzerini çizer ve iletiyi gösterir. Yine de kod çalışır; yalnızca bir uyarıdır.
Tamamen kaldırmadan önce bir ya da iki sürüm @deprecated ile beklemek, kullanıcıların geçiş yapmasına olanak tanır.
Uygulama Eskimiş ve yeni metod
Bir Calculator sınıfı tanımla. İçinde @Deprecated('yerine add kullan') void oldAdd(int a, int b) metodu olsun; gövdesi print(a + b) olsun. Ayrıca void add(int a, int b) => print(a + b) metodu olsun. main içinde add(2, 3) çağır.
Başlangıç kodu
// Calculator sınıfını tanımla
// oldAdd eskimiş metod, add yeni metod
void main() {
// add metodunu çağır
}Örnek çözüm
class Calculator {
@Deprecated('yerine add kullan')
void oldAdd(int a, int b) {
print(a + b);
}
void add(int a, int b) => print(a + b);
}
void main() {
Calculator().add(2, 3);
}Beklenen çıktı
5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 @deprecated ne işaretler?
- Eskimiş bir API'yi Doğru cevap
- Yeni bir özelliği
- Bir hatayı
- Bir testi
Açıklama: @deprecated eskimiş API'yi işaretler.
2 @Deprecated iletisi
@____('yerine useNew() kullan')
void oldApi() {}
@Deprecated('yerine useNew() kullan')
void oldApi() {}
Açıklama: iletili biçim Deprecated ile başlar.
3 @deprecated parçaları
| Kavram | Anlamı |
|---|---|
@deprecated |
İletisiz eskime |
@Deprecated('...') |
İletili eskime |
useNew() |
Önerilen yeni metod |
oldApi() |
Eskimiş metod |