Interface'lere Metot Ekleme
Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 43 / 73.
TypeScript arayüzleri, özellik tanımlarının yanı sıra metot imzalarını da dahil ederek bu davranışları tanımlamanıza olanak tanır.
Bir arayüzdeki (interface) metot imzası, gerçek uygulamayı sağlamadan bir metodun adını, parametrelerini ve dönüş türünü belirtir. Bu, arayüze uyan herhangi bir nesnenin yerine getirmesi gereken bir sözleşme oluşturur:
interface Person {
name: string;
age: number;
greet(): string; // Metot imzası
}
let user: Person = {
name: "Alice",
age: 30,
greet() {
return `Hello, I'm ${this.name}`;
}
};greet(): string metot imzası, TypeScript'e Person arayüzünü uygulayan herhangi bir nesnenin, hiçbir parametre almayan ve bir dize döndüren bir greet metoduna sahip olması gerektiğini söyler. Gerçek uygulama farklı nesneler arasında farklılık gösterebilir, ancak imza tam olarak eşleşmelidir.
Görev
KolayAşağıdaki özelliklere ve metotlara sahip Calculator adında bir arayüz (interface) oluşturun:
stringtüründebrandstringtüründemodelbooleantüründeisScientific- İki adet
numberparametresi alan ve birnumberdöndürenaddmetodu - Parametre almayan ve bir
stringdöndürengetInfometodu
Aşağıdaki özelliklere ve metotlara sahip BankAccount adında bir arayüz (interface) oluşturun:
stringtüründeaccountNumbernumbertüründebalancebooleantüründeisActive- Bir
numberparametresi alan vevoiddöndürendepositmetodu - Parametre almayan ve bir
numberdöndürengetBalancemetodu
Arayüzlerinizi kullanarak aşağıdaki değişkenleri oluşturun:
branddeğeri"Casio",modeldeğeri"FX-991EX",isScientificdeğeritrueolan, iki parametresinin toplamını döndüren biraddmetoduna ve"[brand] [model]"döndüren birgetInfometoduna sahip,CalculatortüründemyCalculatoradında bir değişken oluşturunaccountNumberdeğeri"SAV-12345",balancedeğeri1500,isActivedeğeritrueolan, parametreyi bakiyeye ekleyen birdepositmetoduna ve güncel bakiyeyi döndüren birgetBalancemetoduna sahip,BankAccounttüründesavingsAccountadında bir değişken oluşturun
Aşağıdaki çıktıları ayrı satırlara yazdırın:
myCalculatorüzerindekigetInfometodunu çağırın ve sonucu yazdırınmyCalculatorüzerindekiaddmetodunu15ve27argümanlarıyla çağırın ve sonucu yazdırınsavingsAccountüzerindekigetBalancemetodunu çağırın ve sonucu yazdırınsavingsAccountüzerindekidepositmetodunu250argümanıyla çağırınsavingsAccountüzerindekigetBalancemetodunu tekrar çağırın ve sonucu yazdırınmyCalculatornesnesininisScientificözelliğini yazdırın
Kendin dene
// TODO: Kodunuzu buraya yazın
// Gerekli özelliklere ve metotlara sahip Calculator arayüzünü (interface) oluşturun
// Gerekli özelliklere ve metotlara sahip BankAccount arayüzünü (interface) oluşturun
// Calculator türünde myCalculator değişkenini oluşturun
// BankAccount türünde savingsAccount değişkenini oluşturun
// Tüm gerekli çıktıları yazdırınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
TypeScript'e Giriş bölümündeki tüm dersler
1TS ile Başlarken
TypeScript Nedir?Neden TypeScript Kullanılır?İlk TypeScript KodunuzDerleme Süreci ve HatalarÖzet: TS'ye Giriş4Fonksiyonlarla Çalışmak
Parametre ve Dönüş Değerlerini TiplendirmeArrow Fonksiyonlarını Tiplendirme'void' Dönüş Tipi'?' ile Opsiyonel ParametrelerVarsayılan Parametre DeğerleriRest Parametrelerini TiplendirmeFonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar Oluşturma2Temel Tipler
Temel Tipler: str, num, boolean'any' Tipi: Kaçış Yolu'unknown' Tipi'null' ve 'undef' ile ÇalışmakTip Çıkarımı İş BaşındaAçık Tip BelirlemeleriÖzet: Temel Tipler Pratiği5Tipler: Takma Adlar, Unionlar ve Kesişimler
İlkel Tipler için Tip Takma AdlarıUnion Tipler ('|')Union Tipler ile ÇalışmakLiteral TiplerKesişim Tipleri ('&')Tip Takma Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Veri Yapısı: Diziler ve Tuple
Tipli DizilerDiziler için 'readonly' BelirleyicisiTuple Nedir?Tuple Tanımlama ve ErişmeTuple DestructuringReadonly Tuple'larÇok Boyutlu Tipli DizilerDizilerle Spread OperatörüÖzet: Diziler ve Tuple'lar6Nesneleri ve Interface'leri Tiplendirme
Satır İçi Nesne Tipi BelirtimleriNesneler için Type Alias KullanımıInterface'lere GirişInterface'ler ve Type Alias'ların KarşılaştırılmasıOpsiyonel ve Readonly ÖzelliklerInterface ve Tipleri GenişletmeInterface'lere Metot EklemeÖzet: Nesne Yapılarını Tanımlama