Aletlerinin ve Arasındaki fark genişletir

Anonim

Uygulamalar ve Extendler

Uygulamalar ve Genişletmeler, Java programlama dilinde bulunan, yeni bir sınıfa eklenen işlevsellik aktarma aracı sağlayan iki anahtar kelimedir. Implements anahtar kelimesi, bir arabirimin uygulanması için açıkça kullanılırken, Extends anahtar kelimesi bir (süper) sınıftan miras almak için kullanılır. Miras ve arayüz kavramlarının C # ve VB gibi diğer nesne yönelimli programlama dillerinin çoğunda bulunduğunu lütfen unutmayın. NET, ancak bu kavramları uygulamak için farklı sözdizimi veya anahtar kelimeler sunuyorlar. Bu makale yalnızca Java'da tanımlanan Anahtar Kelimeler ve Uygulamalar üzerine odaklanmaktadır.

Extends

Extends anahtar kelimesi Java programlama dili miras kavramını uygulamak için kullanılır. Kalıtım aslında yeni bir sınıf tarafından mevcut bir sınıfın özelliklerini ve davranışını genişletmeye izin vererek kod tekrar kullanımını sağlar. Yeni bir alt sınıfın (veya türetilmiş sınıfın) süper sınıfı (veya üst sınıfı) genişlettiğinde, alt sınıfın süper sınıfın tüm niteliklerini ve yöntemlerini devralır. Alt sınıf, isteğe bağlı olarak, üst sınıftan devralınan davranışları (yöntemlere yeni veya genişletilmiş işlevler sağlar) geçersiz kılabilir. Bir alt sınıf, Java'da birden çok süper sınıfı genişletemez. Bu nedenle, birden çok devralma için uzantıları kullanamazsınız. Birden çok kalıtıma sahip olmak için, aşağıda açıklandığı gibi arayüzleri kullanmanız gerekir.

Uygular

Java programlama dilinde Uygular anahtar kelimesi, bir sınıf tarafından bir arabirim uygulamak için kullanılır. Java'daki bir arabirim, o arabirimi uygulayan sınıflar tarafından uygulanması gereken bir sözleşmeyi belirtmek için kullanılan soyut bir türdür. Genellikle bir arabirim yalnızca yöntem imzaları ve sabit bildirimleri içerecektir. Belirli bir arabirimi uygulayan herhangi bir arabirim, arabirimde tanımlanan tüm yöntemleri uygulamalıdır veya soyut bir sınıf olarak bildirilmelidir. Java'da bir nesne referansının türü bir arayüz türü olarak tanımlanabilir. Ancak bu nesne boş olmalı veya belirli bir arabirimi uygulayan bir sınıfın nesnesini tutmalıdır. Java'da Implements anahtar kelimesini kullanarak tek bir sınıfa birden fazla arabirim uygulayabilirsiniz. Bir Arabirim başka bir arabirim uygulayamaz. Bununla birlikte, bir arabirim bir sınıfı genişletebilir.

Uygulamalar ve Genişletmeler Arasındaki Farklar

Uygulamalar ve Genişletmeler, nitelikleri ve davranışları Java programlama dilinde bir sınıfa devralacak bir mekanizma sağlayan iki anahtar kelimeyse de, iki farklı amaç için kullanılırlar. Implements anahtar kelimesi, belirli bir arabirimi uygulamak için bir sınıf için kullanılır; Extends anahtar kelimesi, bir alt sınıfın süper bir sınıftan uzatılması için kullanılır. Bir sınıf bir arabirim uyguladığında, bu sınıfın arabirimde tanımlanan tüm yöntemleri uygulamasına ihtiyacı olur, ancak bir alt sınıf bir süper sınıfı genişlettiğinde, üst sınıfda bulunan yöntemleri geçersiz kılabilir veya geçersiz kılabilir.Son olarak, Implements ve Extends arasındaki bir diğer önemli fark, bir sınıfın birden fazla arabirimi uygulayabileceği, ancak yalnızca Java'daki bir süper sınıftan geçebileceği. Genel olarak, Uyguların (arabirimler) kullanımı, Genişletme (miras) kullanımıyla karşılaştırıldığında, yüksek esneklik ve eşleşmeyi en aza indirgeme gibi birçok nedenden ötürü daha elverişli kabul edilir. Bu nedenle pratikte, temel sınıflardan uzağa doğru bir arabirime programlama tercih edilir.