makaleler / Diğer Konular / Inheritence ve polymorphism nedir?

Inheritence ve polymorphism nedir?

01.11.2017 22:47:15

inheritance ve polymorphism arasındaki fark

Merhabalar Arkadaşlar, (Not:Lütfen öneri ve sorularınızı yorum olarak atınız. Teşekkürler şimdiden)



Bu makalemde OOP (Nesneye yönelik programlama) terimlerimlerinden bahsedeceğim. Nesneye yönelik programlamanın olmazsa olmazlarından biri Kalıtım (Inheritence)'dir. Inheritence 'i bir örnek kod ile açıklayacağım.



class Ev{
  protected:
    int en, boy;
  public:
    void deger_set(int a, int b)
      { en=a; boy=b; }
public abstract int alan();
};

class KareEv: public Ev{
  public:
    int alan()
      { return  en*boy; }
};

class UcgenEv: public Ev{
  public:
int yukseklik;
int alan()
{
 yukseklik= boy/2;
  return en*yukseklik/2; }
};

Kalıtım, genel bir özellikleri içeren super class'tan yeni bir daha spefisifik özellikleri olan class'lar üretilmesidir. Yukarıdaki basitçe örnekte: KareEv ve UcgenEv sub classları Ev class'ının özelliklerini miras alarak kendilerine özgü özellikleri ek olarak içermektedir.


Nesneye dayalı programda kalıtım ile kulanılan bir unsur da polymorphism'dir. Poly, birden çok anlamına gelmektedir. Polymorphism da çok şekillilik anlamına gelmektedir.Kelime anlamını verdiğimiz polymorphism, super class'a ait bir işlevin sub class'larda kendine özgü kullanılarak farklı değerler üretmesini sağlamaktır. Yani aynı alan fonksiyonunda farklı işlemleri gerçekleştirerek kendine ait sub class'a uygun değer döndürülmesidir.



Override ve Overloading

Override ve overloading unsurlarından da bahsedeceğim.

Ovveride, Kalıtım aldığı ana sınıftaki alınan bir özelliği üzerini yazarak
değiştirilmesi işlemidir.

Overloading, aynı isme sahip ama farklı sayıda ve farklı parametre türü alan fonksiyonun farklı amaca uygun kullanılmasıdır.



Inheritence ve polymorpism arasındaki fark nedir?


Kalıtım, super class'ın özelliklerini alan yeni sub class'lar türetilmesidir.
Polimorfizm temelde birden fazla class için ortak bir işlev yada kullanımdır.

Kalıtım temelde sınıflarda uygulanır.
Polimorfizm işlev / yöntemler üzerinde uygulanmaktadır.

Kalıtım, OOP'de yeniden kullanılabilirlik kavramını desteklemek ve kod uzunluğunu azaltmak için kullanılmaktadır. Polymorphism, nesnenin, derleme zamanında (aşırı yükleme) yanı sıra çalışma süresinin (geçersiz kılınması) ne zaman çağrılabileceği işlevin hangi işlevin yapılmasını kararlaştırılmasına izin verir.


İyi çalışmalar.


yazar okanyurt

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
Murat Sapmaz
Murat Sapmaz
29.12.2019 01:39:40

polymorhism base class ın kendisinden türeyen class larıda refere etmesidir. burdaki açıklama çok eksik bence. arkadaşa teşekkür ediyorum ama aradığımı bulamadım. bir list içerisinde aynı class tan türetilmiş 2 ayrı class inctance ları varsa ve bu class larda farklı property ler varsa bir for döngüsünde bunlara nasıl ulaşabiliriz.

anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda