• 0216 488 01 91
  • destek@sonsuzbilgi.com.tr

Doktor & Medikal Web Sitesi

Onlarca Doktor & Medikal Web sitesinden biri mutlaka size göre!

*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle


Pythondaki Miras ve Polimorfizm Kavramları

Adı : Pythondaki Miras ve Polimorfizm Kavramları

Miras ve Polimorfizm, nesne yönelimli programlama konseptlerinin temel taşlarını oluşturan kavramlardır. Pythondaki bu kavramlar, kodunuzu daha düzenli, sürdürülebilir ve esnek hale getirmenizi sağlar. Bu yazıda, miras ve polimorfizm kavramlarını detaylı bir şekilde açıklayacak ve bu kavramların nasıl kullanıldığını örneklerle göstereceğim.

Miras (Inheritance) Kavramı:

Miras kavramı, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını (`attribute` ve `method`) devralması anlamına gelir. Bu, kodun tekrarını önler, daha okunabilir bir yapı sunar ve yazılım mühendisliği prensiplerinden biri olan DRY (Don't Repeat Yourself) prensibine uyar.

Bir sınıfın başka bir sınıftan miras alabilmesi için, miras veren sınıfın tanımlanması sırasında miras vermek istediği sınıfın adının parantez içinde belirtilmesi gerekir. Örneğin:

```
class Ebeveyn:
def __init__(self, ad, soyad):
self.ad = ad
self.soyad = soyad

def bilgileri_goster(self):
print(\"Ad:\", self.ad)
print(\"Soyad:\", self.soyad)

class Cocuk(Ebeveyn):
pass
```

Yukarıdaki örnekte, `Ebeveyn` adında bir sınıf tanımlanmış ve bu sınıfın `ad` ve `soyad` adında iki özelliği vardır. `Cocuk` adındaki sınıf ise `Ebeveyn` sınıfından miras almaktadır. Böylece, `Cocuk` sınıfı da `ad` ve `soyad` özelliklerine sahip olacaktır.

Miras alınan sınıftaki methodlar, miras alan sınıf tarafından kullanılabilir veya üzerine yazılabilir. Aşağıdaki örnekte, `Cocuk` sınıfı `bilgileri_goster` methodunu üzerine yazmıştır:

```
class Cocuk(Ebeveyn):
def bilgileri_goster(self):
print(\"Çocuğun adı:\", self.ad)
print(\"Çocuğun soyadı:\", self.soyad)
```

Bu durumda, `Cocuk` sınıfının `bilgileri_goster` methodu, `Ebeveyn` sınıfındaki ile aynı isme sahip methodu görünmez hale getirecek ve yerine kendi tanımladığı methodu kullanacaktır.

Polimorfizm Kavramı:

Polimorfizm kavramı, aynı işlevi farklı nesneler üzerinde kullanabilme yeteneğini ifade eder. Yani, aynı methodu farklı amaçlarla kullanabiliriz. Python'da polimorfizm, duck typing prensibine dayanır. Bu prensibe göre, eğer bir nesnenin belirli bir davranışı varsa, o nesne o davranışı gerçekleştirebilir.

Örneğin, `alan_hesapla` isimli bir methodumuz olsun. Bu method, verilen nesnenin alanını hesaplamaktadır. Farklı şekillere ait farklı sınıflar oluşturarak polimorfizmi uygulayabiliriz:

```
class Dortgen:
def __init__(self, uzunluk, genislik):
self.uzunluk = uzunluk
self.genislik = genislik

def alan_hesapla(self):
return self.uzunluk * self.genislik

class Daire:
def __init__(self, yaricap):
self.yaricap = yaricap

def alan_hesapla(self):
return 3.14 * self.yaricap ** 2
```

Bu örnekte, `Dortgen` ve `Daire` adında iki sınıf tanımlanmıştır. Her ikisi de `alan_hesapla` methodunu içermektedir. Bu methodlar, farklı hesaplama işlemleri yapmaktadır. Böylece polimorfizm sayesinde, aynı methodu farklı şekillerde kullanmış oluruz:

```
def alan_hesapla_ve_yazdir(sekil):
alan = sekil.alan_hesapla()
print(\"Alan:\", alan)

dortgen1 = Dortgen(2, 3)
daire1 = Daire(5)

alan_hesapla_ve_yazdir(dortgen1)
alan_hesapla_ve_yazdir(daire1)
```

Yukarıdaki örnekte, `alan_hesapla_ve_yazdir` isimli bir fonksiyon tanımlanmış ve bu fonksiyon içerisinde verilen nesnenin alanını hesaplayarak ekrana yazdırılmıştır. Fonksiyon, hem `Dortgen` hem de `Daire` sınıflarıyla çalışabilmektedir. Bu da polimorfizmin bir örneğidir.

Sık Sorulan Sorular:

1. Miras ve polimorfizm neden önemlidir?
Miras ve polimorfizm, kodun daha düzenli, sürdürülebilir ve esnek olmasını sağlar. Kodun tekrarını önler ve DRY prensibini destekler. Ayrıca, nesne yönelimli programlamanın temel prensiplerini uygulayan bir kod yazmanıza yardımcı olur.

2. Miras ve polimorfizmin farkı nedir?
Miras, bir sınıfın diğerinden özelliklerini ve davranışlarını devralması anlamına gelirken, polimorfizm ise aynı işlevi farklı nesneler üzerinde kullanabilme yeteneğini ifade eder.

3. Miras neden kullanılır?
Miras, kodun tekrarını önler, daha düzenli bir yapı sağlar ve yazılım mühendisliği prensiplerinden biri olan DRY prensibine uyar. Ayrıca, kodun sürdürülebilir ve esnek olmasını sağlar. Miras, yeni bir sınıfı tanımlarken mevcut bir sınıftan baz alarak hızlı ve kolay bir şekilde yeni özellikler eklememe imkanı verir.

4. Polimorfizm nasıl kullanılır?
Polimorfizm, aynı methodu farklı amaçlarla kullanma yeteneğidir ve Python'da duck typing prensibiyle uygulanır. Yani, bir nesnenin belirli bir davranışı varsa, o nesne o davranışı gerçekleştirebilir. Polimorfizm, kodun esnekliğini artırır ve tekrarı önler.

5. Polimorfizmin avantajları nelerdir?
Polimorfizm, kodun sürdürülebilirliğini artırır, tekrarlanan kodun azaltılmasına yardımcı olur ve kodun daha okunabilir, düzenli ve esnek olmasını sağlar. Ayrıca, kodun genel yapısını anlamak ve değiştirmek daha kolaydır."

Pythondaki Miras ve Polimorfizm Kavramları

Adı : Pythondaki Miras ve Polimorfizm Kavramları

Miras ve Polimorfizm, nesne yönelimli programlama konseptlerinin temel taşlarını oluşturan kavramlardır. Pythondaki bu kavramlar, kodunuzu daha düzenli, sürdürülebilir ve esnek hale getirmenizi sağlar. Bu yazıda, miras ve polimorfizm kavramlarını detaylı bir şekilde açıklayacak ve bu kavramların nasıl kullanıldığını örneklerle göstereceğim.

Miras (Inheritance) Kavramı:

Miras kavramı, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını (`attribute` ve `method`) devralması anlamına gelir. Bu, kodun tekrarını önler, daha okunabilir bir yapı sunar ve yazılım mühendisliği prensiplerinden biri olan DRY (Don't Repeat Yourself) prensibine uyar.

Bir sınıfın başka bir sınıftan miras alabilmesi için, miras veren sınıfın tanımlanması sırasında miras vermek istediği sınıfın adının parantez içinde belirtilmesi gerekir. Örneğin:

```
class Ebeveyn:
def __init__(self, ad, soyad):
self.ad = ad
self.soyad = soyad

def bilgileri_goster(self):
print(\"Ad:\", self.ad)
print(\"Soyad:\", self.soyad)

class Cocuk(Ebeveyn):
pass
```

Yukarıdaki örnekte, `Ebeveyn` adında bir sınıf tanımlanmış ve bu sınıfın `ad` ve `soyad` adında iki özelliği vardır. `Cocuk` adındaki sınıf ise `Ebeveyn` sınıfından miras almaktadır. Böylece, `Cocuk` sınıfı da `ad` ve `soyad` özelliklerine sahip olacaktır.

Miras alınan sınıftaki methodlar, miras alan sınıf tarafından kullanılabilir veya üzerine yazılabilir. Aşağıdaki örnekte, `Cocuk` sınıfı `bilgileri_goster` methodunu üzerine yazmıştır:

```
class Cocuk(Ebeveyn):
def bilgileri_goster(self):
print(\"Çocuğun adı:\", self.ad)
print(\"Çocuğun soyadı:\", self.soyad)
```

Bu durumda, `Cocuk` sınıfının `bilgileri_goster` methodu, `Ebeveyn` sınıfındaki ile aynı isme sahip methodu görünmez hale getirecek ve yerine kendi tanımladığı methodu kullanacaktır.

Polimorfizm Kavramı:

Polimorfizm kavramı, aynı işlevi farklı nesneler üzerinde kullanabilme yeteneğini ifade eder. Yani, aynı methodu farklı amaçlarla kullanabiliriz. Python'da polimorfizm, duck typing prensibine dayanır. Bu prensibe göre, eğer bir nesnenin belirli bir davranışı varsa, o nesne o davranışı gerçekleştirebilir.

Örneğin, `alan_hesapla` isimli bir methodumuz olsun. Bu method, verilen nesnenin alanını hesaplamaktadır. Farklı şekillere ait farklı sınıflar oluşturarak polimorfizmi uygulayabiliriz:

```
class Dortgen:
def __init__(self, uzunluk, genislik):
self.uzunluk = uzunluk
self.genislik = genislik

def alan_hesapla(self):
return self.uzunluk * self.genislik

class Daire:
def __init__(self, yaricap):
self.yaricap = yaricap

def alan_hesapla(self):
return 3.14 * self.yaricap ** 2
```

Bu örnekte, `Dortgen` ve `Daire` adında iki sınıf tanımlanmıştır. Her ikisi de `alan_hesapla` methodunu içermektedir. Bu methodlar, farklı hesaplama işlemleri yapmaktadır. Böylece polimorfizm sayesinde, aynı methodu farklı şekillerde kullanmış oluruz:

```
def alan_hesapla_ve_yazdir(sekil):
alan = sekil.alan_hesapla()
print(\"Alan:\", alan)

dortgen1 = Dortgen(2, 3)
daire1 = Daire(5)

alan_hesapla_ve_yazdir(dortgen1)
alan_hesapla_ve_yazdir(daire1)
```

Yukarıdaki örnekte, `alan_hesapla_ve_yazdir` isimli bir fonksiyon tanımlanmış ve bu fonksiyon içerisinde verilen nesnenin alanını hesaplayarak ekrana yazdırılmıştır. Fonksiyon, hem `Dortgen` hem de `Daire` sınıflarıyla çalışabilmektedir. Bu da polimorfizmin bir örneğidir.

Sık Sorulan Sorular:

1. Miras ve polimorfizm neden önemlidir?
Miras ve polimorfizm, kodun daha düzenli, sürdürülebilir ve esnek olmasını sağlar. Kodun tekrarını önler ve DRY prensibini destekler. Ayrıca, nesne yönelimli programlamanın temel prensiplerini uygulayan bir kod yazmanıza yardımcı olur.

2. Miras ve polimorfizmin farkı nedir?
Miras, bir sınıfın diğerinden özelliklerini ve davranışlarını devralması anlamına gelirken, polimorfizm ise aynı işlevi farklı nesneler üzerinde kullanabilme yeteneğini ifade eder.

3. Miras neden kullanılır?
Miras, kodun tekrarını önler, daha düzenli bir yapı sağlar ve yazılım mühendisliği prensiplerinden biri olan DRY prensibine uyar. Ayrıca, kodun sürdürülebilir ve esnek olmasını sağlar. Miras, yeni bir sınıfı tanımlarken mevcut bir sınıftan baz alarak hızlı ve kolay bir şekilde yeni özellikler eklememe imkanı verir.

4. Polimorfizm nasıl kullanılır?
Polimorfizm, aynı methodu farklı amaçlarla kullanma yeteneğidir ve Python'da duck typing prensibiyle uygulanır. Yani, bir nesnenin belirli bir davranışı varsa, o nesne o davranışı gerçekleştirebilir. Polimorfizm, kodun esnekliğini artırır ve tekrarı önler.

5. Polimorfizmin avantajları nelerdir?
Polimorfizm, kodun sürdürülebilirliğini artırır, tekrarlanan kodun azaltılmasına yardımcı olur ve kodun daha okunabilir, düzenli ve esnek olmasını sağlar. Ayrıca, kodun genel yapısını anlamak ve değiştirmek daha kolaydır."


Dijital Kartvizit Web Sites

Gelişmiş Bir Çok Özelliği İle Dijital Kartvizit Web Sitenizi Bu Gün Kuralım!

*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle


Python Miras Polimorfizm Kavramları Sınıf Nesne Kalıtım Çok Biçimlilik