TypeScript, JavaScript'te nesne yönelimli programlamanın uygulanması üzerinde büyük bir etkiye sahipti. Bugün, sizi bazı örneklerle tanıştırarak TypeScript'te OOP hakkında biraz konuşmak istiyorum.
Bu arada tüm örnekleri Github'a yükledim . Şuna bir göz atın ve sorularınız varsa bana bildirin.
Her şeyden önce, TypeScript'in kendisinden bahsedelim.
TypeScript, JavaScript'i temel alan ve size her ölçekte daha iyi araçlar sağlayan, kesinlikle yazılmış bir programlama dilidir.
JavaScript'in sözde "süper kümesi"dir. TypeScript'in JavaScript olduğunu söyleyebilirsiniz, ancak JavaScript TypeScript değildir. Çünkü günün sonunda TypeScript JavaScript'e derleniyor ve JavaScript makine koduna derleniyor.
JavaScript'e göre görsel farkını göstermek için Car adında bir sınıf oluşturalım. Bir kez JavaScript'te ve bir kez TypeScript'te yazılmıştır.
Gördüğünüz gibi, oldukça benzer, görebileceğiniz tek fark TypeScript kod parçacığının her yerindeki tür açıklamalarıdır. Umarım bu, TypeScript hakkında iyi bir izlenim verir.
OOP'yi tanımlamak için dört temel kavram vardır. Bunlar Kapsülleme, Soyutlama, Kalıtım ve Polimorfizmdir. Ne düşündüğünüzü biliyorum, programlamaya başladığımda ne anlama geldikleri hakkında hiçbir fikrim yoktu, ama açıklamama izin verin.
OOP'nin ilk kavramı Soyutlamadır. OOP'deki soyutlama, yalnızca gerekli ayrıntıları sınıfın kullanıcısına göstermek anlamına gelir. Altta yatan her şey gerçekten önemli değil. TypeScript'te soyutlamaya ulaşmak için birden çok yolunuz vardır: soyut sınıf/yöntem, arayüzler ve türler.
Arabirimlerde ve türlerde mümkün olmayan özel özellikler ve yöntemlerde public tanımlayabileceğiniz için soyut bir sınıf gitmenin bir yolu olduğundan size soyut bir sınıfa dayalı bir örnek göstereceğim.
Gördüğünüz gibi, özelliklerimize değişken atadığımız kurucunun yanı sıra, adlı soyut sınıfımız
Charactersadece bir tanım sınıfıdır. Bu durumda Goblin sınıfımız bu soyut sınıfa güveniyor.
OOP'nin ikinci konsepti Kapsüllemedir. Kapsülleme, verileri gizleme fikri üzerine kurulmuştur. Bu, belirli özelliklere veya yöntemlere erişimi kısıtladığımız yerdir.
Örneğimizde, _name özelliği özeldir. Bu, bu özelliğe sınıfın dışından erişemeyeceğimiz anlamına gelir. Bu özel mülke erişmek için getter ve setter yöntemlerini kullanıyoruz.
Kalıtım çok güçlü bir özelliktir ve temel olarak kodun yeniden kullanılabilirliğine sahip olmanızı sağlar. Varolan bir sınıfınız olduğunu ve üzerine ek özellikler eklemek istediğinizde mevcut sınıfın özelliklerini veya yöntemlerini kullanan yeni bir sınıf oluşturduğunuzu hayal edin, burada Kalıtım gerçekleşecek. Bu sınıflara genellikle alt sınıf, alt sınıf veya alt sınıf diyorsunuz. Bu sınıflar, genellikle süper sınıf, temel sınıf veya ana sınıf olarak adlandırılan üst sınıflarından genişler.
Aşağıdaki örnekte, sınıfımızın sınıftan genişleterek sınıftan
Orcmiras alacağını göreceksiniz.
Character
Polimorfizm, birden fazla forma sahip bir sınıf yaratma yeteneğidir. Veya başka bir deyişle, sınıflar aynı yöntemlere ancak farklı uygulamalara sahiptir.
Örneğimizde, bir ebeveyn sınıfımız (
Character) ve bir alt sınıfımız (
Orc) var. Alt sınıf, üst sınıfının özelliklerinin ve yöntemlerinin üzerine yazıyor. Polimorfizm budur.
TypeScript'te OOP hakkındaki makalemi okuduğunuz için teşekkür ederiz. Umarım bilginizi tazeleyebilirim. Unutma, tüm örnekleri GitHub'a yükledim .
Şerefe!
İnsanlar sanata çekilir. On yıldan fazla bir süredir araştırmacılar, izleme sanatının sağlığımız ve esenliğimiz üzerindeki olumlu etkisini araştırıyorlar.
Arka hikaye Her ürünün bir hikayesi vardır ve bu Yapdoof'un başlangıç hikayesidir. Yapdoof, Omept Technology Nijerya Limited'in bir ürünüdür.
İster NFT'lerde yeni olun, ister sahnenin emektarı olun, burada anlattıklarımın faydalı olabileceğini umuyorum. Bu seri, "projelerin" herkesi kendilerine bir miktar para kazandırmak için manipüle etmek için kullandıkları özenle tasarlanmış yöntemleri ortaya çıkarmayı amaçlıyor.
Sathya Krishnan Suresh, Shunmupapriya P Bu yazıda, stili ve içeriği iki ayrı görüntüden gelen yeni görüntüler oluşturmak için kullanılabilecek bir yöntem olan “Nöral Stil Transferi” adlı ilginç bir konuyu tartışacağız. Bu makale Leon A Gatys ve arkadaşlarının A Neural Algorithm of Artistic Style (Sanatsal Stilin Sinirsel Algoritması) temel alınarak hazırlanmıştır; burada yazar, Evrişimsel Sinir Ağı (CNN) katmanlarını kullanarak yeni bir görüntünün oluşturulması hakkında ayrıntılı bir açıklama sunar.
Bu ay tüm yeni abonelerimize ve yazarlarımıza sıcak bir karşılama; sürülerinizde ortaya çıkıyorsunuz ve bunun için size teşekkür ediyoruz. Burada harika bir topluluk oluşturuyoruz ve yorumlarınızı ve makalelerinizi okumak harika.