Sınıf ve Arayüz Arasındaki Fark

Temel Fark - Sınıf vs Arayüz
 

Nesneye Yönelik Programlama (OOP), yazılım geliştirmede yaygın bir paradigmadır. Sınıfları ve nesneleri kullanarak programlamaya gerçek dünya senaryoları getirmeye yardımcı olur. Sınıf, bir nesne oluşturmak için kullanılan bir taslaktır. Programcı, özellikleri ve yöntemleri olan bir sınıf oluşturabilir. Bir öğrenci ve öğretmen nesnelerdir. Nesne oluşturma, örnekleme. OOP ayrıca arayüzler kullanır. Arayüzler ve sınıf benzer görünebilir, ancak farkları vardır. Bu makalede, sınıf ve arabirim arasındaki fark anlatılmaktadır. temel fark sınıf ve arayüz arasında sınıf, bir nesneyi örneklemek için bir plan olan bir başvuru türüdür, arayüz ise nesneyi örneklemek için kullanılamayan bir referans türüdür.

İÇİNDEKİLER

1. Genel Bakış ve Temel Fark
2. Sınıf nedir
3. Arayüz nedir
4. Sınıf ve Arayüz Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Tablo Şeklinde Sınıf ve Arayüz Karşılaştırması
6. Özet

Sınıf Nedir?

OOP'de her şey bir nesne olarak kabul edilir. Sınıfsız bir nesne oluşturmak mümkün değildir. Sınıf, bir nesne oluşturmak için kullanılan bir taslaktır. Bir ev inşa ederken, mimar planı çizer. Plan bir sınıfa benzer. Ev nesneye benzer. Sınıf, bir nesne inşa etme planıdır. Nesne, sınıf kullanılarak oluşturulan şeydir..

Sınıf, özellikleri ve yöntemleri içerir. Öğrenci ad, not, dizin numarası gibi özelliklere sahip olabilir. Bir öğrenci okuma, yürüme, çalışma gibi yöntemlere sahip olabilir. Gerekli özellikler ve yöntemlerle bir sınıf oluşturulur.

Birçok programlama dilinde sınıf oluşturma sözdizimi aşağıdaki gibidir. Anahtar kelime sınıfı kullanılarak oluşturulur.

sınıf class_name

// özellikleri

// yöntemleri

C # ve Java gibi programlama dilleri, sınıf kullanarak bir nesne oluşturmak için benzer bir sözdizimini izler. Sınıf adının Öğrenci olduğunu varsayın.

Öğrenci s1 = yeni Öğrenci ();

Bu s1 nesnedir. “New” anahtar sözcüğü, özelliklere bellek ayırmak için kullanılır. Sınıfın ayrıca özellikleri veya değişkenleri başlatmak için bir yapıcısı vardır.

Özellikler ve yöntemler gibi sınıf üyelerinin erişim değiştiricileri vardır. Erişim belirteçleri, bu üyelerin diğer sınıflara erişilebilirliğini ve görünürlüğünü açıklar. Sınıf üyeleri, genel, özel ve korumalı gibi erişim belirteçlerine sahip olabilir. Herkese açık üyelere diğer sınıflar tarafından erişilebilir. Özel üyelere sadece sınıfa erişilebilir. Korunan üyelere sınıf içinde ve ilgili alt sınıflarda erişilebilir.

Arayüz nedir?

Soyutlama, Nesneye Yönelik programlamanın temel direğidir. Uygulama ayrıntılarını gizlemek ve işlevselliği kullanıcıya göstermek içindir. Soyutlama soyut sınıflar ve arayüzler kullanılarak elde edilir. Soyut bir yöntemin bir uygulaması yoktur. En az bir soyut yöntem içeren bir sınıfa soyut sınıf denir.

İki soyut sınıf olduğunda, bu sınıflarda beyan edilen yöntemler uygulanmalıdır. Bu yöntemleri uygulamak için yeni bir sınıf kullanılır. Her iki sınıf da aynı yönteme sahipse, belirsizlik sorununa neden olabilir. Bu nedenle, Java ve C # gibi programlama dillerinin bir arayüzü vardır.

Arabirimler yalnızca yöntemlerin bildirimini içerir. Uygulama yöntemi yoktur. Ayrıca, arabirimler nesne oluşturmak için kullanılamaz. Birden çok devralmayı desteklemek ve kodu korumak için kullanılırlar.

Arayüz sözdizimi aşağıdaki gibidir. Arayüz “arayüz” anahtar kelimesini kullanır.

arayüz interface_name

type method1 (parametre_listesi);

type method2 (parametre_listesi);

Yukarıdakilere göre, arayüzler sadece beyanda bulunur. Tanım yok. Bu nedenle, arabirimler nesneleri başlatamaz. Sadece arayüzün ne olduğuna dair soyut bir görünüm verir. Arayüzde bildirilen yöntemler bir veya daha fazla sınıf tarafından uygulanabilir. Bir sınıf bir arabirim uygulamak için “uygulamak” anahtar sözcüğünü kullanır. Java ile yazılmış aşağıdaki örneğe bakın.

Şekil 01: Arayüzleri Kullanan Program

Yukarıdaki programa göre, A ve B arayüzlerdir. A Arabirimi, sum () yöntemi tanımlamasına sahiptir. Arayüz B'de bir yöntem bildirim alt () vardır. C sınıfı, A ve B olan her iki arabirimi de uygulamaktadır. Bu nedenle, C sınıfı hem sum () hem de sub () yöntemlerini tanımlar. C türünde bir nesne oluşturduktan sonra sum () ve sub () yöntemlerinin her ikisini de çağırmak mümkündür.

Arabirimin içinde bildirilen yöntemler her zaman herkese açık olmalıdır, çünkü uygulayıcı sınıflar bunları tanımlar. Bir arabirim başka bir arabirimden de miras alabilir.

Sınıf ve Arayüz Arasındaki Benzerlikler Nelerdir??

  • Her ikisi de referans tipleridir.
  • Her ikisi de Nesneye Yönelik Programlama ile ilgilidir.

Sınıf ve Arayüz Arasındaki Fark Nedir??

Sınıf ve Arayüz

Sınıf, nesne oluşturmak için bir plan olan bir referans türüdür. Arabirim, somutlaştırılamayan bir referans türüdür.
 Nesne Örnekleme
Bir nesneyi örneklemek için sınıf kullanılır. Yöntemler herhangi bir eylem gerçekleştiremediğinden bir arabirim başlatılamıyor.
inşaatçı
Sınıf, değişkenleri başlatmak için bir kurucu içerir. Bir arabirim bir kurucu içermediğinden, başlatılmak için neredeyse hiçbir değişken yok.
 Kelime
Bir sınıf “sınıf” anahtar kelimesini kullanır. Bir arayüz “arayüz” anahtar kelimesini kullanır.
Erişim Tanımlayıcı
Sınıf üyeleri özel, herkese açık ve korumalı olabilir. Arabirimin üyeleri her zaman herkese açık olmalıdır, çünkü uygulayıcı sınıflar bunları tanımlar.

Özet - Sınıf vs Arayüz

Sınıflar ve Arayüzler Nesneye Yönelik Programlamada yaygın olarak kullanılmaktadır. Sınıf ve arabirim arasındaki fark, bir sınıfın bir nesneyi örneklemek için bir plan olması ve arabirimin bir nesneyi örneklemek için kullanılamayan bir referans türüdür. Bir sınıf birçok arabirimi uygulayabilir. Ancak yalnızca bir üst sınıfı genişletebilir. Arayüzde birçok arayüz devralınabilir ancak bir uygulama olamaz. Her ikisinin de önemi var. Programcı bunları yazılım geliştirmeye göre kullanabilir.

PDF Sınıfını Karşıdan Arabirim'e Karşıdan Yükleme

Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlar için kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin Sınıf ve Arayüz Arasındaki Fark

Referans:

1.tutorialspoint.com. “Java Nesnesi ve Sınıfları.”, Nokta. Burada mevcut 
2.navinreddy20. Java ile bir örnek, Java By Navin Reddy, 11 Aralık 2012. Burada bulunabilir