Temel Sınıf Nedir?

Ayrıca bir üst sınıf olarak da adlandırılan bir temel sınıf, bir veya daha fazla türetilmiş sınıf için temel oluşturan bir bilgisayar nesnesidir. Miras alma yeteneğine sahip herhangi bir bilgisayar dili bir temel sınıf oluşturabilir. Kesin türüne bağlı olarak, temel sınıflar kendi başlarına başlatabilecek - bir nesneye bir başlangıç ​​değeri atayarak - kendi başlarına başlatabilirler veya olmayabilirler, ancak her zaman kendilerinden miras kalan her sınıfa ortak bir işlevsellik verirler. Temel sınıfların sahip olabileceği türetilmiş sınıfların veya alt sınıfların sayısında bir sınırlama yoktur, ancak bilgisayar diline bağlı olarak, türetilmiş bir sınıfın sahip olabileceği temel sınıfların sayısında bir sınırlama olabilir. Türetilmiş bir sınıfın yalnızca bir tabana sahip olmasına izin veren dillerin, tek bir mirası zorladığı söylenirken, türetilmiş bir sınıfın birden fazla temel sınıfa sahip olmasına izin verenlerin çoklu miras kullanması söylenir.

Beton temel sınıfları kendi başlarına başlatılabilir; yani temel sınıf tipinde bir nesne yapılabilir. Örnek bir sınıf, türetilmiş bir Örnek 2 için bir üsse, Örnek 2 türünde bir nesne ve Örnek türünde bir nesne yapılabilir. Örnek türünde bir nesne yalnızca açıkça bu nesne türünü arayarak yapılabilir; Örnek2 türünde bir nesne oluşturmak, Örnek türünde ikincil bir nesne yapmaz. Her durumda, yaratılan nesne türü yalnızca kendi bir örneğini oluşturur.

Aksine, soyut temel sınıflar kendi başlarına başlatılamaz, bu da temel sınıfın bir nesnesinin kendisi tarafından yapılamayacağı anlamına gelir. Bir Example3 sınıfı türetilmiş bir Class4 sınıfı için soyut bir temel ise, yalnızca Example4 türünde bir nesne yapılabilir. Örnek 4, Örnek 3 türünden veri içeriyor olsa da, yalnızca Örnek 3 türünde bir nesne yapmaya çalışmak bir hataya neden olur. Bu işlevsellik zaman zaman, özellikle de Örnek 3 sınıfı, sıkı bir şekilde düzenlenmesi gereken özel veriler içeriyorsa faydalı olabilir.

Göründüğü dile bağlı olarak, bir temel sınıf biraz farklı davranışlara ve belirgin bir şekilde farklı adlara sahip olabilir. Java®'da temel sınıflara her zaman bu adla atıfta bulunulurken, C ++ 'da yapılarına bağlı olarak sanal sınıflar olarak adlandırılabilir. İsim ve işlevsellikteki farklılıklar, kullanılan bilgisayar dilleri açısından önemli olsa da, sınıfların ardındaki prensipte büyük farklılıklar olduğu anlamına gelmez. Bir temel sınıf, dilden bağımsız olarak, türetilmiş sınıflarının ortak işlevlerini ve verilerini enkapsüle etmek için kullanılır.