‫Tekrar hoş geldiniz.
‫Son videoda, soyutlamanın temellerini gördünüz.
‫Size bu konuda biraz daha bilgi vermek istiyorum.
‫Şimdi devam edelim ve bir küp oluşturalım.
‫Ve Ice Cube Baby olacak.
‫Ve küp gibi bir şekli olacak.
‫Tamam.
‫Yani bu hemen hemen bir küp oluşturmak istediğim anlamına geliyor ve şu anda küp olarak baktığımız
‫şekil olması gerekiyor.
‫Yani bunu, belirli bir sınıf türü olmasını istediğimi söylemek için bir anahtar kelime olarak kullanıyoruz,
‫oysa belirli bir veri türü, veri türü küp ve bu kendi oluşturduğumuz veri türü.
‫INT gibi bir şey söylemek gibi.
‫Bunun bir tamsayı olmasını istiyorum, ancak bu durumda INT gibi temel bir veri türü kullanmıyoruz, kendi oluşturduğumuz
‫bir veri türünü kullanıyoruz.
‫Şimdi yapacağım şey Ice Cube'un null olup olmadığını kontrol etmek, çünkü null
‫ise küp değildir.
‫Ancak boş değilse, o zaman bir küp olacaktır.
‫Yani bu, eğer null ise, bu şeklin küp olmadığını rahatlıkla söyleyebiliriz, tamam mı, çünkü bunu bir küpe
‫eklemek veya koymak işe yaramadı.
‫Çünkü eğer Küba'da değilse, o zaman bizim durumumuzda muhtemelen bir küre olacaktır, değil mi?
‫Ayrıca, sadece çift eşittir işareti kullanarak ve null kullanarak değil, belirli bir türde olup olmadığını
‫da kontrol edebilirim.
‫Ancak şeklin küp türünde olup olmadığını kontrol edebilirim.
‫Ve eğer durum buysa, şunu da rahatlıkla söyleyebilirim.
‫Bir küp.
‫Ya da bu şekil bir küp.
‫Tamam.
‫Bu nedenle, bir değişkenin belirli bir türde olup olmadığını kontrol etmek için is anahtar sözcüğünü kullanırız.
‫Bir değişkeni belirli bir türde oluşturmak için as anahtar sözcüğünü kullanırız.
‫Yine de her zaman işe yaramıyor.
‫Tamam.
‫Şimdi bunu tekrar çalıştırırsak, bir kez bunun bir şekil olduğunu veya şeklin küp olmadığını göreceğiz.
‫Ve sonra bunun bir küp olduğunu göreceğiz, çünkü bunlardan biri küp, diğeri ise küp değil.
‫Yani ilki bir küre ve şeklin küp olmadığını söylüyor.
‫Bir sonraki ise bir küp.
‫Ve şeklin bir küp olduğunu söylüyor.
‫Tamam.
‫Şimdi bunun gerçekten çalıştığını görebiliriz, böylece gerçekten kontrol edebiliriz.
‫Ve bu durumda, süper aptalca, değil mi?
‫Çünkü sadece konsola bir şeyler yazmak için kontrol ediyoruz.
‫Ancak diğer durumlarda, aslında programınızla ilgili olabilir çünkü o zaman onunla bir şeyler yapabilirsiniz.
‫Eğer bu bir küp ise, o zaman belirli bir şey yapabilirsiniz, hesaplayabilir ya da ayarlayabilir ya da bir veritabanında
‫saklayabilirsiniz ya da her neyse.
‫Başka bir şeyse, o zaman farklı şekilde ele alırsınız.
‫Tamam, yapabileceğin şey bu.
‫Oldukça havalı.
‫Burada kullandığımız polimorfizmin bir parçasıdır.
‫Bu çok güzel.
‫Böylece kullanabileceğiniz başka bir işlevselliğe sahip olduğunuzu görebilirsiniz.
‫Şimdi diyelim ki bir nesneden bir küpe döküm yapmak istiyoruz.
‫Bu, elbette, yalnızca nesne gerçekten bir küp içeriyorsa işe yarar.
‫Pekala, bir küp oluşturalım.
‫Buna küp bir diyeceğim.
‫Yeni bir küp olacak ve yarıçapı yedi olacak.
‫Tamam.
‫Şimdi yapabileceğim şey, yeni bir küp oluşturmak ve bu küpe Küp İki adını
‫vereceğim.
‫Bir küpe bir tane.
‫Peki bu ne anlama geliyor?
‫Bu, Küp iki adında yeni bir küp oluşturmak istediğim ve Küp bir'i bir küpe dönüştürmek istediğim anlamına geliyor.
‫Bu, elbette, yalnızca Küp bir aslında bir küp ise işe yarayacaktır.
‫Ve şimdi bunun bir küp olduğunu biliyoruz.
‫Ama bunun nedeni onu bu şekilde programlamış olmamız.
‫Sonunda, aslında bir nesne.
‫Yani bir küp içeren bir nesne.
‫Yani object, hemen hemen burada net sınıf hiyerarşisindeki tüm sınıfları destekleyen ve türetilmiş sınıflara
‫düşük seviyeli hizmetler sağlayan sınıftır.
‫Bu, her bir sınıfın nesne adı verilen bu sınıftan miras aldığı anlamına gelir.
‫C'deki durum da bu.
‫Java ve diğer programlama dillerinde de durum böyledir.
‫O zaman muhtemelen herhangi bir şeydir.
‫Örneğin Kotlin'de any anahtar kelimesi de aynı türden bir kavramdır.
‫Doğru.
‫Dolayısıyla, bu nesne sınıfı iki dizeden hash'e kadar bir şey içerir ve daha fazlasını öğrenmek istiyorsanız, aslında kontrol
‫edebilirsiniz.
‫Bu yüzden kontrol tuşunu basılı tutun ve eşittir referansına sahip olduğunu görebilirsiniz eşittir hash kodu dizeye
‫yazılır.
‫Yani bunlar, siz uygulamamış olsanız bile her bir nesnenin sahip olduğu yöntemlerdir.
‫Böylece bunu çok hızlı bir şekilde görebilirsiniz.
‫Bunu, diyelim ki şeklimiz için kullanalım.
‫İşte burada.
‫İpe şekil vermeye başla.
‫Bu yöntemin shape dot equals get hashcode, get info ve benzerleri ile aynı olduğunu görebilirsiniz.
‫Yani burada gördüğümüz özelliklerin çoğunu uygulamadık, sadece onlara sahibiz çünkü her sınıf
‫object'ten miras alıyor.
‫Tamam.
‫Yani şimdi.
‫Burada sahip olduğumuz Q iki ile konsola bir şeyler yazalım.
‫Yani, C. W. 'nin bir hacme sahip olduğunu söyleyeceğim ve ardından hacmi geçireceğim veya yazdıracağım.
‫Yani küpten isme ve küpten nokta hacmine.
‫Tamam.
‫Ve bu, elbette, sadece işe yarayacaktır.
‫Eğer gerçekten bir küp ise, ki bizim durumumuzda öyle.
‫Bu yüzden iyi çalışması gerekir.
‫Şimdi çalıştıralım.
‫Ve CUPE'nin 300 veya 343'lük bir hacme sahip olduğunu görebiliyoruz.
‫İşte burada yarattığımız küp bu, CUPE ile yedi.
‫Tamam.
‫İşte bu kadar.
‫Şimdi, soyutu nasıl kullanacağınızı, soyut sınıflarla nasıl çalışabileceğinizi, soyut bir sınıf
‫oluşturduğunuzda elbette soyut yöntemler oluşturabileceğinizi ve daha sonra bir sınıf bu sınıftan miras aldığında bunları
‫uygulamanız gerektiğini gördünüz.
‫Yani bir sınıf shape'den miras aldığında.
‫Tamamdır.
‫Umarım bu videoyu beğenmişsinizdir.
‫Bu da geri bildirim aldığım videolardan biri.
‫İnsanlar bunu istedi, ben de bu özel videoyu oluşturmaya karar verdim.
‫Ve başka talepleriniz veya sorularınız varsa, lütfen soru bölümünde veya discord'da bana bildirin.