Python'da Yöntem Geçersiz Kılma: Nedir, Nasıl Yapılır?

Yayınlanan: 2021-09-28

Python, bilgisayar programlama meraklıları için mutlaka öğrenilmesi gereken üst düzey, genel amaçlı bir dildir. JAVA, C++, Golang, Ruby vb. gibi yaygın olarak kullanılan diğer bilgisayar dillerine benzer şekilde Python ayrıca kodlamanın sınıflara ve nesnelere bağlı olduğu nesne yönelimli bir programlama dilidir. Konsept, geliştiricilerin daha sonra bireysel nesneleri gösteren basit, yeniden kullanılabilir kodları yapılandırmasına olanak tanır. OOP dillerinin sunduğu birkaç kullanışlı özellik vardır ve bunlardan biri Yöntem Geçersiz Kılmadır.

Bu makalede, Python'da metot geçersiz kılmayı keşfetmek için kalıtım kavramını anlayacağız. Bir sınıfın ne olduğunu anlamakla başlayalım.

İçindekiler

Sınıf nedir?

Sınıf, Nesne Yönelimli programlama paradigmasındaki bir özellik veya örnektir. Bir program içinde genişletilmiş bir program kodlama şablonu. Sınıflar, programcıların oluşturma sırasında her nesnenin (diziler, dizeler, değişkenler vb.) ilk verilerini girmesine yardımcı olur. Ayrıca sınıfın özelliklerini tanımlamamızı ve verileri nasıl işleyeceklerini veya girdi sağlayacaklarını belirlememizi sağlarlar. Bir programda tanımlanan üst sınıfların veya üst sınıfların altında alt sınıflar veya alt sınıflar vardır.

Miras nedir? Faydaları nelerdir?

Nesne yönelimli programlamada kalıtım, bir sınıfın özelliklerinin diğer sınıflara veya alt sınıflara miras alınmasına izin veren bir özelliktir. Bu, veri fazlalığını önlemeye, programı daha iyi derlemeye ve hata yapma kapsamını sınırlamaya yardımcı olur.

Bir sınıfın diğer sınıflardan özellikler türetme veya miras alma yeteneği, kalıtım olarak bilinir. Bir alt sınıf türetmek için özellikleri ve özellikleri kullanılan sınıfa Ana sınıf denir.

İşte mirasın faydaları:

  • Kalıtım, kullanıcıların gerçek zamanlı ilişkileri iyi temsil etmesine olanak tanır.
  • Kodların yeniden kullanılmasına izin verir. Ayrıca programcıların bir sınıfa daha fazla özellik sağlamasına olanak tanır.
  • Geçişe izin verir. Q sınıfının özellikleri W sınıfından aldığını varsayalım, o zaman Q'nun alt sınıfları otomatik olarak W sınıfından miras alacaktır.

Miras Türleri

Aşağıdaki gibi üç tür miras vardır;

1. Tek Kalıtım

Tekli kalıtımda, türetilmiş bir sınıf, özellikleri tek bir üst sınıftan devralabilir. Kodların yeniden kullanılmasını ve ayrıca yeni özelliklerin eklenmesini sağlar.

2. Çoklu Kalıtım

Birden fazla ebeveyn sınıfın özelliklerinin bir alt sınıfa aktarılmasını ifade eder. Burada, temel sınıfın özellikleri otomatik olarak alt sınıfa miras alınır.

3. Çok düzeyli kalıtım

Üst sınıfın ve alt sınıfın özellikleri başka bir türetilmiş sınıfa daha fazla miras alındığında, buna çok düzeyli kalıtım denir.

Python'da Yöntem Geçersiz Kılma Nedir?

Yöntem geçersiz kılma, alt sınıfın veya alt sınıfın programa belirli özellikler veya üst sınıfta veya üst sınıfta önceden tanımlanmış olması koşuluyla belirli bir veri uygulama süreci sağlayabildiği nesne yönelimli programlama dillerinin bir özelliğidir.

Üst sınıfta olduğu gibi alt sınıfta da aynı dönüşler, parametreler veya ad girildiğinde, alt sınıftaki uygulama yöntemi, üst sınıfta belirtildiği gibi yöntemi geçersiz kılar. Bu, yöntemi geçersiz kılma olarak bilinir.

Yürütülmesi, üst sınıfta zaten sağlanan referans verilere değil, yöntemi çağırmak için kullanılan verilere bağlıdır. Bir programa özgü uygulama yöntemini çağırmak için üst sınıfın bir nesnesi kullanılırsa, yöntemin üst sınıfta yazıldığı şekliyle sürümü çağrılır. Öte yandan, yöntemi çağırmak için alt sınıfın bir nesnesi kullanılırsa, yürütme alt sınıfta belirtilen özelliklere göre olacaktır. Yeni başlayan biriyseniz ve veri biliminde uzmanlık kazanmak istiyorsanız, veri bilimi kurslarımıza göz atın.

Yöntem Geçersiz Kılmanın Özellikleri

Bu bölüm, python'da geçersiz kılma yönteminin sunduğu göze çarpan özellikleri keşfedecek:

  • Yöntem geçersiz kılma, Python'da aynı ada veya imzaya sahip işlevlerin ve yöntemlerin kullanılmasına izin verir.
  • Yöntem aşırı yüklemesi, çalışma zamanı polimorfizmine bir örnektir.
  • Yöntem geçersiz kılmada, kalıtım özelliğinin kullanılması her zaman gereklidir.
  • Yöntem aşırı yüklemesi, üst sınıflar ve alt sınıflar arasında gerçekleştirilir.
  • Mevcut yöntemlerin davranışını ve uygulamasını değiştirmek için kullanılır.
  • Yöntem geçersiz kılma için her zaman en az iki sınıfa ihtiyaç vardır.

Yöntem Geçersiz Kılmayı Anlama: Çoklu ve Çok Düzeyli Kalıtım

Çoklu ve çok düzeyli kalıtım, çoğu nesne yönelimli programlama dili tarafından sunulan iki tür kalıtımdır. Bu bölümde, çeşitli ve çok düzeyli kalıtımlarda yöntem geçersiz kılmanın nasıl kullanıldığını göreceğiz:

1. Çoklu Kalıtım

Sınıfın veya nesnenin bu tür kalıtımında, bir alt sınıf, birden çok üst sınıf veya tabanın özelliklerini ve özelliklerini devralır. Örneğin, üç farklı ebeveyn sınıfı vardır - class.1, class.2, class.3 ve birden çok kalıtımın özelliklerini yürüten alt sınıf olan class.a vardır. class.a, üç temel sınıftan miras alınan özellikleri içerecektir.

İşte örnek bir program:

# Üst sınıf 1'in tanımlanması

sınıf Ebeveyn1():

# Ebeveynin gösterme yöntemi

def show(self):

print(“Ebeveyn1'in İçinde”)

# Ebeveyn sınıf 2'yi tanımlama

sınıf Parent2():

# Ebeveynin gösterme yöntemi

def ekran (kendi kendine):

print(“Ebeveyn2'nin İçinde”)

# Alt sınıf tanımlama

sınıf Çocuk(Ebeveyn1, Ebeveyn2):

# Çocuğun gösteri yöntemi

def show(self):

print(“İçerideki Çocuk”)

# Sürücü kodu

obj = Çocuk()

nesne.göster()

obj.görüntüleme()

Çıktı:

içindeki çocuk

Ebeveyn2'nin İçinde

2. Çok Düzeyli Kalıtım

Bu tür sınıf veya nesne kalıtımında, bir alt sınıf doğrudan ana sınıfın özelliklerini taşıyan temel sınıftan miras alınır. Temelde baba-oğul veya dede-torun ilişkisi gibi. Alt sınıfın özellikleri, ana sınıfına özgüdür. Örneğin class.Q adında bir üst sınıf vardır ve class.Q uzantısında bir alt sınıf oluşturulmuştur. Burada alt sınıf, başka bir alt sınıf için temel sınıf görevi görebilir.

İşte örnek bir program:

sınıf Ebeveyn():

def ekran (kendi kendine):

print(“Üst Ebeveyn”)

sınıf Çocuk(Ebeveyn):

# Çocuğun gösteri yöntemi

def show(self):

print(“İçerideki Çocuk”)

sınıf GrandChild(Çocuk):

# Çocuğun gösteri yöntemi

def show(self):

print(“GrandChild'in İçinde”)

# Sürücü kodu

g = Büyük Çocuk()

g.göster()

g.görüntüleme()

çıktı :

GrandChild'in İçinde

Ebeveyn İçinde

Geçersiz Kılınan Yöntemler İçinde Temel Sınıf Yöntemlerinin Çağrılması

Geçersiz kılınan yöntemler arasında üst sınıf yöntemlerinin çağrılabileceği bir yöntem vardır. Aşağıdaki işlemler kullanılarak yapılabilir:

  • sınıf adını kullanma

alt sınıfta geçersiz kılınan yöntemde sınıf adı yöntemi yazmak, üst sınıfta sağlanan yöntemi çağırabilir.

  • super() işlevini kullanma

Python'un programlama dili, özellikle üst sınıfa atıfta bulunmak için kullanılan super() adlı bir işlev sunar.

Çözüm

Yöntem geçersiz kılma, Python dilinin en önemli özelliklerinden biridir. Bu özellik, veri bilimi uygulamalarının programlanmasında kapsamlı bir kullanım alanı bulur ve kompakt ve verimli veri analizine olanak tanır. Yöntem geçersiz kılma, kodların derlenmesini ve yeniden kontrol edilmesini de kolaylaştırır. Bu özelliği kullanmanın bazı önkoşulları vardır: sınıflar ve kalıtımla ilgili temel kavramları anlamak.

Python'da yöntem geçersiz kılma hakkında derinlemesine bilgi edinmek istiyorsanız, 18 aylık Veri Bilimi Yüksek Lisansını almanızı öneririz . upGrad, bu kursu IIIT Bangalore ve Liverpool John Moore Üniversitesi'nden sunmaktadır. Kurs size İstatistik, Python kullanarak Tahmine Dayalı Analitik, Makine Öğrenimi, Veri Görselleştirme, Büyük Veri Analitiği ve daha fazlası gibi becerileri öğretir. Python kavramları hakkında güçlü bir bilgiye sahip olan öğrenciler, Derin Öğrenme, Doğal Dil İşleme, İş Analitiği ve Veri Mühendisliği gibi konuları ele almak için iyi bir konumdadır.

Öğrenme yolculuğunuza başlamak için bugün bize ulaşın!

Geçersiz kılma ve aşırı yükleme arasında ayrım yapın.

Geçersiz kılma ve aşırı yükleme arasındaki birincil fark, geçersiz kılmanın aynı yöntemler veya aynı imzalar arasında gerçekleşmesi, aşırı yüklemenin aynı sınıf yöntemleri arasında gerçekleşmesidir.

1. Yöntem aşırı yüklemesi, derleme zamanı polimorfizmini örneklendirirken, yöntemi geçersiz kılma, çalışma zamanı polimorfizmini örneklemektedir.
2. Python'da yöntem aşırı yüklemesi gerçekleştirilemez, ancak belirli koşullar altında yürütme yöntemi geçersiz kılma mümkündür.

Yöntem geçersiz kılmanın özellikleri nelerdir?

Yöntem geçersiz kılmanın özellikleri şunlardır:

1. Çalışma zamanı polimorfizmini örneklendirir.
2. Üst sınıf ile alt sınıf arasında bir bağlantı kurar.
3. En az bir sınıfı birbirine bağladığı için kalıtım özelliğini kullanmamız gerekiyor.
4. Yöntem geçersiz kılma, birden fazla işlev için tek bir ad kullanmanıza yardımcı olur.

Türetilmiş sınıfta üst sınıfın yöntemini uygulamak için geçersiz kılma yöntemini kullanırız.

Farklı miras türleri nelerdir? Python'da özel yöntemleri geçersiz kılmak mümkün müdür?

Öncelikle, yöntem geçersiz kılma, çok düzeyli ve birden çok kalıtım kullanır.

Çok düzeyli kalıtımda, alt sınıf, üst sınıfın özelliklerinden oluşan bir temel sınıftan miras alınır. Ancak çoklu kalıtım durumunda, bir alt sınıf, birden fazla veya daha fazla üst sınıf veya bazın özelliklerini gösterir.

Özel yöntem geçersiz kılma Java'da olamaz, ancak Python'da 'ad yönetimi' olarak bilinen bir işlem kullanılarak yapılabilir.