‫Bu ve sonraki videolarda arayüzler hakkında bilgi edineceksiniz ve bunlar oldukça önemlidir
‫çünkü nesne yönelimli programlamanın ve sınıfların işlevselliğini gerçekten genişletirler.
‫Peki arayüz nedir?
‫Arayüzleri, bir arayüzü uygulayan bir sınıfın, bu arayüz tarafından tanımlanan tüm nesneler için uygulamalar sağlamayı
‫kabul ettiği sözleşmeler olarak düşünün.
‫Bu, bir arayüzün sözleşme şartlarını, yöntemlerini ve özelliklerini içereceği, ancak bunları nasıl uygulayacağımızın
‫arayüzü uygulayan sınıfa bağlı olduğu anlamına gelir.
‫Bu arayüz yöntemleri sınıfımızda uygulandığı sürece, arayüz mutlu kalacaktır.
‫Dolayısıyla arayüzler herhangi bir uygulama içeremez.
‫Bu çok önemli.
‫Bu nedenle, diğer keskin nesnelerden ayırt edilmeleri için isimlerinin önüne genellikle IE eklenir.
‫Interface anahtar sözcüğünü kullanarak arayüzler oluşturuyoruz.
‫Şimdi bunu pratikte nasıl yapabileceğimize bakalım.
‫Tamam.
‫İşte Visual Studio'ya geri döndük.
‫RC Sharp sınıflarında en çok kullanılan işlevlerden biri, bir sınıfın örnekleriyle karşılaştırma yapmaktır.
‫Bu, eşittir yöntemi kullanılarak yapılır.
‫Bu, her iki sınıfa yapılan referansın aynı olup olmadığını görmek için karşılaştıracaktır.
‫Ancak, bunları karşılaştırmak ve diğer bazı alanlara göre eşit olup olmadıklarını görmek istiyoruz.
‫Bunu, I Equitable adlı bir arayüzü uygulayarak başarabiliriz.
‫Yani bizim durumumuzda, Ticket adında bir sınıfımız var ve saat cinsinden süre adında bir özellik tanımlıyor.
‫Şimdi devam edelim ve bu sınıfı hızlıca oluşturalım.
‫Burada yeni bir sınıfım var ve aslında buraya gidebilirim ya da K ve C kısayollarını kullanabilirim ve bunu bir bilet
‫olarak adlandıracağım.
‫Dediğim gibi, bu biletin sadece bir özelliği ve bir kurucusu var.
‫O zaman onları buraya koyalım.
‫Yani bu özellik, biletin ve bizim süremizi saklamak için var.
‫Ve sonra burada kurucumuz var.
‫Şimdi devam edelim ve AI eşitlikçi arayüzünü uygulayalım.
‫Bu nedenle, kalıtım kullanırken yaptığımıza benzer bir şey kullanırız, iki nokta üst üste ve ardından kullanmak istediğimiz
‫arayüzü kullanırız.
‫Ve görüyorsunuz ki onlardan bir sürü var.
‫Ve benim kullanmak istediğim yüksek eşitlikçi olacak.
‫Şimdi ne tür nesneleri karşılaştırmak istediğinizi tanımlamanız gerekir.
‫Bu yüzden burada biletleri birbirleriyle karşılaştırmak istiyorum.
‫Bu yüzden bilet anahtar kelimesini eklemem gerekiyor.
‫Şimdi Visual Studio'nun pek mutlu olmadığını fark edeceksiniz çünkü bir değer türünün veya sınıfın belirli bir yöntem oluşturmak için
‫uyguladığı genelleştirilmiş bir yöntem tanımladığını söylüyor.
‫Ancak burada karşılaştığımız sorun, ticket'ın arayüz üyelerini uygulamamasıdır I equitable ticket equals
‫ticket.
‫Devam edip bunu uygulayarak bunu çok kolay bir şekilde düzeltebiliriz.
‫Dolayısıyla, bunları açıkça uygulamak için tüm üyeleri iyi bir şekilde kullanabilirdik ya da bunu manuel olarak yapabilirdik.
‫Bunu hemen yapalım.
‫Yani temel olarak, ilettiğim biletin, ki bu diğer bilet olacak, biletle aynı olup olmadığını
‫kontrol edecek bir boolean döndürmek istiyorum.
‫Bu, bu yöntemi çağıran yöntemdir.
‫Yani bilet.
‫Bunun dışında oluşturduğumuz bileti başka bir biletle karşılaştırıyoruz ve ardından süre saatlerini karşılaştırmak istiyoruz.
‫Dolayısıyla, aynı süreye sahiplerse, aynı bilet olduklarını varsayacağız.
‫Dolayısıyla, burada devam edebilir ve bu sürenin saat cinsinden diğer süreyle karşılaştırmasını saat cinsinden
‫döndürebiliriz.
‫Yani temel olarak bu biletin saat cinsinden bir süresi olduğunu ve diğer biletin de bilet türünde olduğunu söylüyoruz.
‫Yani saat cinsinden bir süresi var ve ikisini birbiriyle karşılaştırıyoruz.
‫Ve bu karşılaştırma, bu çift eşittir işareti, temelde doğru veya yanlış mı döndürecek?
‫Yani bu sol ve sağ Boolean operatörüdür.
‫Yani yaptığı şey, kendisine kalanı kendisine doğru olanla karşılaştırmaktır.
‫Ve eğer aynı iseler, o zaman true değerini döndürür.
‫Aksi takdirde false döndürür.
‫Temel olarak bu yöntemin true değerini döndüreceğini söyler.
‫Eşittir yöntemini çağıran bilet, karşılaştırdığımız biletle saat olarak aynı süreye sahipse
‫true değerini döndürür.
‫Değilse, false değerini döndürür.
‫Tamam, şimdi programımız CSE'ye gidelim ve bunu gerçekten kullanalım.
‫Burada iki bilet oluşturacağız, biri TW one olacak ve yeni bir bilet olacak ve on saatlik
‫bir süreye sahip olacak.
‫Şimdi bunu kopyalayalım ve 10 saatlik ikinci bir bilet oluşturalım ve şimdi bunları karşılaştırabiliriz.
‫Bu yüzden burada sadece tw iki nokta eşittir'i görüntülemek ve tw bir'i onunla karşılaştırmak için sağ kontrol satırını kullanalım.
‫Burada temel olarak ikinci biletimizi birinci biletimizle karşılaştırıyorum ve eşittir yöntemini kullanarak karşılaştırıyorum.
‫Şimdi bunu hızlıca çalıştıralım.
‫Ve bunun doğru olduğunu göreceksiniz.
‫Ve bu genellikle equals yöntemi için geçerli değildir, çünkü iki nesneyi normal bir equals yöntemi kullanarak karşılaştırırsanız,
‫tabiri caizse.
‫Bunu uygulamayacak olsaydık, bir saniyeliğine bundan kurtulalım.
‫Şimdi tüm bunları yorumlayalım ve ikisini karşılaştıralım.
‫Görüyorsunuz, yöntem hala orada.
‫Bu eşittir hala çalışır, çünkü eşittir genel olarak var olan bir yöntemdir.
‫Ve şimdi false yazdığını görüyorsunuz çünkü equals nesne sınıfının içinde yer alan bir yöntemdir.
‫Ve object sınıfı her zaman bu equals yöntemine sahiptir çünkü her sınıf object'ten miras alır.
‫Ancak şimdi yaptığımız şey, I equitable arayüzünü kullanarak kendi equals yöntemimizi uygulamaktır.
‫Dolayısıyla, tabiri caizse kendi yöntemimizle karşılaştırma yapmamıza ve kendi kodumuzu uygulamamıza olanak tanıyan belirli bir arayüz
‫kullanıyoruz.
‫Şimdi ikisini karşılaştırırsak, karşılaştırdığımız nesnenin tamamen aynı olup olmadığını
‫karşılaştırmıyoruz, ancak bizim durumumuzda zaman ve bizimki aynıysa, yani bizimkindeki süre aynıysa, o zaman true dönecektir.
‫Dolayısıyla, zaman ve bizimki aynı değilse, diyelim ki altı ise, o zaman yanlış dönecektir çünkü
‫süre birbiriyle karşılaştırdığımız iki bilet için aynı değildir.
‫Bu sadece var olan basit bir arayüzü kullanan bir örnekti ve gördüğünüz gibi, bir proje
‫oluştururken otomatik olarak var olan çok sayıda arayüz vardır.
‫Ancak bir sonraki videoda kendi arayüzlerimizi nasıl oluşturacağımızı ve bunları nasıl kullanacağımızı göreceğiz.
‫Orada görüşürüz.