İçindekiler
Her iki yapı da, onları kullanan sınıfları sahip oldukları yöntemleri oluşturmaya ve bunları geçerli olabilmeleri için kullanmaya zorladıkları için benzer görünse de, aralarında temel farklılıklar vardır, bu da onları nasıl kullanabileceğimiz konusunda bize daha fazla ışık verebilir. .Farklar, ince olmalarına rağmen, her iki yapıyı kombinasyon halinde bile kullanmamıza izin verir, bu şekilde projemizde daha fazla düzen elde edebilir ve gerçek dünyadaki nesneleri dijital formatta daha iyi yeniden üretmemize izin veren uygulamalar oluşturabiliriz.
KısıtlamalarArasında gördüğümüz temel fark soyut sınıflar ve arayüzler birincisinin bir sınıf olması ve ikincisinin olmamasıdır. arayüz benzer bir yapıya sahipse, bir yerde bulunmayan kısıtlamalarla karşı karşıyadır. soyut sınıf.
DeğişkenlerNS soyut sınıf değişkenlerin kullanımında herhangi bir kısıtlama yoktur, ancak arayüz eğer varsa, aslında kullanacağımız tüm değişkenler genel, statik veya nihai.
bu durumda inşaatçı arasında soyut sınıf alt sınıflar aracılığıyla çağrılmalıdır, bu da operatör aracılığıyla somutlaştırma olasılığını ortadan kaldırır. yeni.
Bu durumuda arayüz, bunun bir sınıf olmadığı için yapıcıları olamaz, bu da operatörle örneklerin oluşturulmasını atmamıza neden olur. yeni.
yöntemlerİçinde arayüz yöntemler olmalı genel soyut Öte yandan, soyut sınıfta her türlü yöntemi sorunsuz bir şekilde yerleştirebiliriz, bu bizim için bir fark daha yaratır.
Dikkate almamız gereken bir diğer nokta ise, bu iki yapı ile elde edebileceğimiz kalıtım ve uygulamanın nasıl yapılacağıdır. Java, biliyoruz ki yaptığımızda miras Bir sınıfta, yalnızca bir üst sınıftan doğrudan miras alabiliriz, yani iki farklı sınıftan miras almak istiyorsak, bir birinci sınıfın üstün sınıftan miras aldığı ve ardından başka bir sınıfın miras aldığı bir kademeli etki yaratmalıyız. bu, işlevselliğini ve üst sınıfının işlevselliğini elde etmek için.
İçinde arayüzler Bu sorun oluşmaz, aslında birkaç arabirimden doğrudan miras alabiliriz, bu yüzden yöntemlerini elde etmek istiyorsak sorunsuz yapabiliriz.
Bu durumuda bir arayüzün uygulanması soyut bir sınıfta daha fazla özgürlüğümüz varsa, bu durumda bu durumda herhangi bir kısıtlama olmaksızın birden çok Arayüz uygulayabiliriz, bu da bize tabiri caizse daha karmaşık bir üst arayüz yapma imkanı verir. Burada önemli olan, bir arayüzün bir sınıf olmadığını ve dolayısıyla birinden miras alamayacağını bilmek ve dikkate almaktır. diğer arayüzlerden kalıtım.
Bununla bu öğreticiyi bitiriyoruz, bu iki yapının programlarımızda kısıtlama ve uygulama farklılıklarını gördük. JavaHer ikisi de davranışları modellemeye ve tanımlamaya hizmet etse de, her birinin kendi alanı vardır, bu yüzden onları daha iyi tanıdığımızda bu dille yapılan programlarımızda hangisini kullanacağımıza karar verebileceğiz.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.