Skip to main content

Interface Vs Abstract Sınıflar

Yazılım dünyasında bir birbirine çok benzeyen iki yapıdır interfaceler ve absract classlar. Bu yazımda sizlere bu iki yapının temel de ne olduğunu ve birbirinden ayırt edici özelliklerini özetlemeye çalışacağım.Bu iki temel konu yazılım dünyasına nesneye dayalı programlama ile girip kalıtımın temel taşlarındandır. İlk öncelikle interfacelerden başlayalım. Interfaceler yapı olarak classlara benzerler kendilerine ait özellikler ve metotları vardır. Fakat classlardan farkı metotların sadece tanımlamaları yapılmıştır. Metotların içeriside kod bulunamaz. Interfacelerin instanceları üretilemez. Interfaceler kendisinden türeyen classlara şablon görevi üstlenir. Bir interfaceden türeyen bir class o interfacede tanımlı tüm özellikleri ve metotları içermelidir. Abstract classların da interfaceler gibi instanceları yaratılamaz. Abstract classlar da kendinden türeyen classlara şablon görevi üstlenir. Abstract classlar içerisinde abstract olan veya olmayan metotlar bulundurabilir. Şöyle ki bir abtract classımız olsun. İçerisinde iki adet metotu olsun. Bu metotlardan bir tanesi abstract (metodun sadece tanımı mevcut kod içermiyor) diğeride abstract olmayan normal bir metot olsun. Bu abstract sınıftan türeyen bir sınıf oluşturalım. Bu sınıf içerisinde abstract sınıfın abstract metotlarını override edilebilir. Abstract sınıflarda yer alan her bir abstract metotun overrirde edilmesi zorunluluğu söz konusu değildir. Abstract sınıftan türeyen sınıfların instanceları abstract sınıfına ait abstract olmayan metotları kullanabilirler.

Kolay gelsin.

Comments

Popular posts from this blog

En basit şekliyle Sql Join

WCF Json Web Servisi Oluşturma

Wcf json web servisinin nasıl oluşturacağımızı basit bir şekilde adım adım görsellerler anlatmaya çalışacağım. Visual Studio üzerinden yeni bir boş web application oluşturalım. Oluşturduğumuz web applicationımıza bir adet wcf service ekleyelim. Oluşturduğumuz wcf servisinin çalıştığından emin olmak için projemizi run edelim.(açılan url'inin sonuna web servisinin adını eklemeyi unutmayalım. Örneğin http://localhost:49264/service.svc Projemizin referenslarına System.ServiceModel.Web.dll ekleyelim. Web servisimizin interfacine aşağıdaki görselde ki gibi sayhi metodu ekleyelim. Metodun taglari burda çok önemli. Son olarak interfacede tanımladığımız metodumuzu implement edelim. Web servisimiz artık kullanıma hazır. Aşağıdaki url'den web servisimizin metodunu kullanabiliriz. http://localhost:49264/service.svc/json/sayhi

ASP.NET uygulamalarında WebResource kullanımı (WebResource.axd)

          Web uygulamalarında genellikle resourcelar uygulama içerisine eklenerek sayfalarda path'lari ile çağırılırlar. Bu kullanım açısıdan çok kullanışlı bir yöntem değildir. Şöyleki bazı resourcelarımız her uygulamada olması gereken resourcelardır. Bu resourceları her uygulamaya eklemek etkili bir kullanım değildir. Bunun yerine webresource yöntemiyle istediğimiz resoruceları bir class libary(dll) içerisine koyup, uygulamalarımıza bu dll'i eklememiz daha kullanışlı bir yöntem olacaktır. Bu yazıda da bir image libary dll oluşturmayı ve uygulama içerisinden bu dll içerisinde yer alan resimler çağırmayı adım adım anlatmaya çalışacağım. 1)Solution'ımız 2 adet proje oluşturalım.   - WebApplication(WebApp)   -Class Libary(ResourceLibary) 2)Image libary olarak kullanacağımız dll içerisine image'larımızı ekleyelim. 3)Her bir image'ın üzerine sağ click ile açılan window üzerinden Build Action özelliğini Embedded Resource olarak değiştirelim. ...