5.00 / 1 oy

Programlama Dillerinde Kalıtım Nedir?

Nesne yönelimli programlamada (Object Oriented Programming - OOP) en önemli konulardan birisi kalıtımdır (inheritance). Kalıtım, tanım olarak sınıfların başka sınıflardan türeyebilmesi ve davranış ike özelliklerinin kalıtsal olarak üstlerinde yer alan sınıflardan alınabilmesidir. Dolayısıyla bir sınıftan türetilen başka bir sınıf, üstünde yer alan sınıflardan bilgileri ve metodları miras olarak alabilmektedir. Bu şekilde birbirinin uzantısı olarak sınıflar tasarlanmış olur ve davranışsal olarak benzerlik gösterecek sınıflar arasında bir programlama bütünlüğü daha az ve güvenli kod ile sağlanabilmiş olur.

Örnek: Her sınıf Object sınıfından türetildiği için Object sınıfının metod ve özelliklerine sahiptir.

Kalıtım sayesinde bir sınıf altında başka sınıflar üretmek mümkün olur ve benzer davranışlar, çok sayıda sınıf içerisinde kopyala-yapıştır ile tekrarlamaya gerek kalmaz. Kodların yeniden kullanılabilirliği ve anlam bütünlüğü açısından bu büyük bir avantaj sağlamaktadır. Böylece kendi tanımladığımız sınıflar içerisinde alt ya da üst sınıflar tanımlamak mümkün olabildiği gibi başkalarının hazırlamış oldukları kütüphaneler için de uzantısal alt sınıflar hazırlayabilmek mümkün olmaktadır.

Kalıtım ile ilgili en sık verilen örneklerden birisi arabalardır, ancak çok anlaşılır bir örnek olduğu için ben de arabalar örneği üzerinden kalıtım konusuna yazılı bir örnek vermek istiyorum. Bir sonraki yazımda da kod olarak bu kalıtım örneğini yazılım ortamına geçirebiliriz.

Edit: C# ile Kalıtım Örneği (OOP)

 

Baz Sınıf (Base Class): Araba

Özellikler: Motor gücü, kapı sayısı

Metodlar: Korna çalma, çalıştırma

 

Türetilmiş sınıf: SUV

Özellikler: Yükseklik

Metodlar: Arazi sürüş moduna geçme

 

Türetilmiş sınıf: Spor araba

Özellikler: Turbo

Metodlar: Üstünün açılması

 

Bu örnekte türetilmiş sınıflar (spor araba ve suv), baz sınıf olan araba sınıfının özelliklerini ve metodlarını miras almaktadırlar. Baz sınıf, tüm arabalarda yer alan özellikleri ve metodları bünyesinde barındırdığı için bu özellik ve metodlar tüm arabalarda da olacaktır. SUV ya da spor araba gibi alt sınıflar ise araba sınıfının metod ve özelliklerine ek olarak kendi sınıflarına özgü özellik ve metodlara sahiptirler. Türetilmiş sınıflardan da daha fazla sayıda sınıf türetilebilir. Örneğin SUV'ler de kendi altlarında Crossover vb. gibi alt sınıflarda çoğaltılabilirler.

 

Önceki bazı diğer benzer yazılarım için;

bkz: C# Sınıf ve Nesne Nedir?

bkz: C# Sınıf Nasıl Oluşturulur?

bkz: C# Nesne Nasıl Oluşturulur?

bkz: C# ile String'in ortanca karakterini bulmak

bkz: C# ile string'in sonuna ekleme yapmak (5 farklı çözüm)

bkz: C# Kurucu (Constructor) Nedir?

mbologlu

25.04.2021 04:25

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Programlama Dillerinde Kalıtım Nedir?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.