Soyut Sınıf ve Kalıtım
Abstract sınıf ve Kalıtım, Java gibi birçok nesne yönelimli programlama dilinde bulunan iki önemli nesne yönelimli kavramdır. Soyut sınıf, normal (somut) bir sınıfın soyut bir versiyonu olarak kabul edilebilirken Kalıtım, yeni sınıfların diğer sınıfları genişletmesine izin verir. Soyut sınıf, başlatılamayan ancak genişletilebilen bir sınıftır. Bu nedenle, Soyut sınıflar yalnızca programlama dili kalıtımı destekliyorsa anlamlıdır. Java'da, Soyut sınıflar, Soyut anahtar kelime kullanılarak bildirilirken, Genişletilmiş anahtar kelime, bir (süper) sınıftan miras almak için kullanılır.
Soyut Sınıf Nedir?
Tipik olarak, Soyut Temel Sınıflar (ABC) olarak da bilinen Soyut sınıflar somutlaştırılamaz (bu sınıfın bir örneği oluşturulamaz). Bu nedenle, Soyut sınıflar yalnızca programlama dili kalıtımı destekliyorsa anlamlıdır (bir sınıfı genişleterek alt sınıflar oluşturma yeteneği). Soyut sınıflar genellikle kısmi veya hiç uygulaması olmayan soyut bir kavramı veya varlığı temsil eder. Bu nedenle, Soyut sınıflar, alt sınıfların türetildiği üst sınıflar gibi davranır, böylece alt sınıf, üst sınıfın eksik özelliklerini paylaşır ve bunları tamamlamak için işlevsellik eklenebilir.
Abstract sınıfları, Soyut yöntemler içerebilir. Soyut bir sınıfı genişleten alt sınıflar, bu (kalıtsal) Soyut yöntemleri uygulayabilir. Alt sınıf, bu tür tüm Soyut yöntemleri uygularsa, somut bir sınıftır. Ancak olmazsa, alt sınıf da bir Soyut sınıf olur. Tüm bunların anlamı, programcı bir sınıfı Soyut olarak aday gösterdiğinde, sınıfın eksik olacağını ve devralan alt sınıflar tarafından tamamlanması gereken öğelere sahip olacağını söylüyor olmasıdır. Bu, iki programcı arasında yazılım geliştirmedeki görevleri basitleştiren bir sözleşme oluşturmanın güzel bir yoludur. Miras almak için kod yazan programcı, yöntem tanımlarını tam olarak takip etmelidir (ancak elbette kendi uygulaması olabilir).
Miras nedir?
Kalıtım, yeni sınıfların diğer sınıfları genişletmesine izin veren nesne yönelimli bir kavramdır. Extends anahtar sözcüğü, Java programlama dilinde kalıtım kavramını uygulamak için kullanılır. Kalıtım, temel olarak, yeni tanımlanmış bir sınıf tarafından mevcut bir sınıfın özelliklerinin ve davranışının genişletilmesine izin vererek kodun yeniden kullanılmasını sağlar. Yeni bir alt sınıf (veya türetilmiş sınıf), bir süper sınıfı (veya üst sınıfı) genişlettiğinde, bu alt sınıf, 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ışı geçersiz kılabilir (yöntemlere yeni veya genişletilmiş işlevsellik sağlar). Tipik olarak, bir alt sınıf birden fazla süper sınıfı genişletemez (örneğin Java'da). Bu nedenle, çoklu kalıtım için uzantıları kullanamazsınız. Çoklu kalıtım yapabilmek için arayüzleri kullanmanız gerekir.
Soyut Sınıf ve Kalıtım arasındaki fark nedir?
Soyut sınıflar genellikle soyut bir kavramı veya kısmi uygulaması olan veya hiç uygulaması olmayan bir varlığı temsil eder. Kalıtım, yeni sınıfların diğer sınıfları genişletmesine izin verir. Soyut sınıflar somutlaştırılamadığından, Soyut sınıflardan yararlanmak için kalıtım kavramını kullanmanız gerekir. Aksi takdirde, bir Soyut sınıfın hiçbir faydası yoktur. Soyut sınıflar, Soyut yöntemler içerebilir ve sınıf genişletildiğinde, tüm yöntemler (Soyut ve somut) miras alınır. Miras alınan sınıf, yöntemlerin herhangi birini veya tümünü uygulayabilir. Tüm Soyut yöntemler uygulanmazsa, o sınıf da bir Soyut sınıf olur. Bir sınıf, birden fazla Soyut sınıftan miras alamaz (bu, kendi başına Soyut sınıfların bir kalitesi değil, daha ziyade bir kalıtım kısıtlamasıdır).
İlgili gönderiler:
Somut Sınıf ile Somut Sınıf Arasındaki Fark
Sanal ve Soyut Arasındaki Fark
Soyut Sınıf ve Arayüz Arasındaki Fark
Uygulamalar ve Uzatmalar Arasındaki Fark
Grafik ve Ağaç Arasındaki Fark
Filed Under: Programlama Şununla etiketlendi: ABC, abstract, Abstract Base Classes, Abstract class, Abstract sınıflar, Abstract keyword, Abstract metotlar, beton sınıf, Extends keyword, Inheritance, Inheritance class, kalıtsal sınıf, Java, çoklu kalıtım, nesne yönelimli kavramlar, normal sınıf, süper sınıf
Yazar Hakkında: Indika
Indika, BSc. Eng, MSECE Bilgisayar Mühendisliği, PhD. Bilgisayar Bilimi, Yardımcı Doçenttir ve Biyoinformatik, Hesaplamalı Biyoloji ve Biyomedikal Doğal Dil İşleme alanlarında araştırma ilgi alanına sahiptir.
Yorumlar
-
Jason diyor
30 Ağustos 2017, 1:25 pm
Farkı açıkladığınız için teşekkür ederiz. Tüm sorularım bununla çözüldü.
Yanıtla
-
Aus diyor
Mayıs 10, 2019, 3:04 pm
web'deki en iyi cevap, Öğretmen hiçbir şeyi açıklamaz ve mantıklı değil, mono ton mf. Kavramları böyle açıklarsın.
Yanıtla
Yanıt bırakın Cevabı iptal edin
E-posta adresiniz yayınlanmayacak. Gerekli alanlarile işaretlenmiştir
Yorum
Ad
E-posta
Web sitesi
Öne Çıkan Gönderiler
Koronavirüs ve Soğuk Belirtileri Arasındaki Fark
Koronavirüs ve SARS Arasındaki Fark
Koronavirüs ve Grip Arasındaki Fark
Koronavirüs ve Covid 19 Arasındaki Fark
Beğenebilirsin
Sibirya Kurdu ve Malamute Arasındaki Fark
AB ve BC Hesabı Arasındaki Fark
Çift Anadal ve Çift Diploma Arasındaki Fark
Açık Gömlekler ve Koyu Gömlekler için Transfer Kağıdı Arasındaki Fark
Arasındaki Fark