Bir börek yediğinizde, tat alıcılarınızın her biri neşeyle şarkı söyler. Her lokma, tuzlu, tatlı, baharatlı ve umami gibi farklı lezzet türlerinin bir kombinasyonunu getirir. Bundan sonraki her lokma, yeni bir malzeme koleksiyonu lezzetlerini bir araya getirdiği için biraz farklı tadı.
Menüdeki malzemeleri okumuş olabilirsiniz ama salsanın nasıl yapıldığını tam olarak bilmiyorsunuz. Sebzelerinde kullandıkları baharat gizli bir karışım olabilir. Yine de her kesin malzemeyi bilmenize gerek yok. Lezzetli olduğunu bilmek yeterli.
Sade beyaz pirinç gibi bildiğiniz malzemeler betondur. Diğer unsurlar soyuttur. Salsa olduğunu biliyorsun, ama ne tür? Ya da birisi size bir anda bir börek uzatırsa, o zaman tüm börek soyuttur.
Özette Soyutlama
Miras ile birlikte, soyutlama, nesne yönelimli programlamada önemli bir kavramdır. Teori, her nesnenin basit ve öngörülebilir sonuçlar vermesi gerektiğidir. Nesneler de yalnızca paylaşılması gerekenleri paylaşmalıdır.
Burrito'yu bir nesne olarak düşünebilirsiniz. Börek içinde fasulye, pirinç, peynir ve acı sos gibi birkaç nesne daha var. Fasulyeler baharatlanmış olabilir. Peynir bir karışım olabilir. Ve acı sos, sirke içinde yaşlandırılmış biberlerin bir kombinasyonu olabilir.
Bir börekteki tüm malzemelerin nasıl yapıldığını bilmenize gerek yok. Ve sosisli sandviç durumunda, muhtemelen bilmek istemezsiniz. Önemli olan, yediğinizde dağılmaması ve süper lezzetli olmasıdır.
Soyutlama, Kapsüllemeye Yakından Bağlıdır
Programlama nesneleri ile aynı şeydir. Bir nesneyi başlattığınızda (onu bir sınıftan oluşturun), yiyecek kamyonu tezgahından bir burrito sipariş etmek gibidir. Bazı verilere erişiminiz var, ancak hepsine değil. İşlevler doğru verileri döndürdüğü sürece nesnenin nasıl çalıştığını bilmenize gerek yoktur. İşte JavaScript/Typescript'te bir börek:
Belirtilen dil: tsx mevcut değil'Kod oluşturma başarısız oldu!!
'
Yapabilirsin TypeScript sanal alanında bu kodla oynayın.
Yukarıdaki örnekte salsa ve peynir malzemeleri soyutlanmıştır. İlk olarak, özel malzemeleri gizlemek için kapsüllenirler. Daha sonra malzemelere erişmek için alıcılar eklenir. Ancak bileşenler, gerçekte ne olduklarının yalnızca soyut bir temsilini verir.
Betonda Soyutlama
Soyutlama bir kavramdan daha fazlasıdır. Sınıflar soyut da olabilir. Bu, diğer sınıfları tanımlayabilecekleri anlamına gelir. Ancak kendileri somutlaştırılamazlar.
Sınıflar Neden Bazen Soyut Olmalıdır?
Bir restorana gittiğinizi ve oturduğunuzu hayal edin. Garson size bir menü verir. Tek bir öğe olduğunu bulmak için açıyorsunuz: yiyecek.
Bu oldukça soyut. Sipariş verir misin? Onu yer misin? Muhtemelen yapmazdın. Bir şeyin yemek olduğunu söylemek yeterli değildir. Daha somut bir şeye dönüşmesi gerekiyor.
Peki ya makarna? Bu daha spesifik bir yemek türüdür. Ve muhtemelen erişte ve sos olduğunu biliyoruz. Ama dışarıda pek çok farklı türde makarna var, bu yüzden hala soyut.
Soyut Nedir, Somut Nedir?
Fettuccine Alfredo, hem yemek hem de makarnanın somut bir örneğidir. Aynı şey sınıflar için de geçerlidir. Her sınıf somutlaştırılmamalıdır. Bazı sınıflar yalnızca diğer sınıfların yapısını tanımlamalıdır.
İşte bir özet ile bir örnek Besin sınıf ve bir çocuk MacadamiaFındık sınıf:
Belirtilen dil: tsx mevcut değil'Kod oluşturma başarısız oldu!!
'
İşte kod.
Soyut sınıflar, diğer sınıflara nasıl davranmaları gerektiğini söyler. Yukarıdaki örnekte, bir yemek sınıfı olacaksanız, adınıza, lezzetinize, tanımınıza ve kalorilerinize erişim sağlayan işlevlere sahip olmanız gerekir.
Dikkat edin MacadamiaFındık sınıf uzanırBesin. Demek ki MacadamiaFındık kurallarına uymayı kabul eder. Besin. Ayrıca, yapıcının çağırdığına dikkat edin Süper. Bu komut, yapıcı başlatmadan önce üst sınıfı başlatır. MacadamiaFındık.
Programlamayı öğreniyorsanız, yapabilirsiniz. bu programlama oyunlarıyla daha çok eğlenin.
Soyutlama Uygulaması
- Yukarıdaki bağlantıyı ziyaret edin ve sanal alanı kullanarak adında soyut bir sınıf oluşturun. Çorba.
- somut bir çocuk oluşturun Çorba denilen sınıf Mısır gevreği.
- Kullanmak konsol.log kodunuzu test etmek için. senin olursa ne olur Mısır gevreği sınıfta tanımlanan işlevlerden biri eksik Çorba?
Ama somutlaştıramayacağınız bir sınıfın anlamı nedir?
İlk başta, soyut sınıflar gereksiz görünebilir. Sonuçta, onları bir nesne yapmak için kullanamazsınız. Ve işlevlerini devrettikleri gibi değil. Fonksiyonlar her çocuk sınıfında yeniden yazılmalıdır.
Soyut sınıflara ihtiyaç duymanızın iki ana nedeni vardır. Kodunuzu tutarlı tutarlar ve diğer geliştiricilerin de tutarlı kod yazmasını sağlarlar. Her zaman yalnız çalışmayacaksın. Tüm takımın aynı kurallara uyması gerekiyor. Daha fazlasını şuradan öğrenebilirsiniz: soyut sınıflarla ilgili TypeScript belgeleri.
Kalıtım ile Nesne Yönelimli Kodunuzu Nasıl Düzenlersiniz?
Sonrakini Oku
İlgili konular
- Programlama
- Programlama
- Nesne yönelimli programlama
Yazar hakkında
Lee, tam zamanlı bir göçebe ve birçok tutku ve ilgi alanına sahip bir bilgedir. Bu tutkulardan bazıları üretkenlik, kişisel gelişim ve yazma etrafında dönüyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın