0Pricing
C# Academy · Ders

Çok Biçimlilik ve Yöntem Geçersiz Kılma

Yöntem geçersiz kılma yoluyla esnek ve yeniden kullanılabilir kod oluşturmak için çok biçimliliğe hâkim olun

Çok Biçimlilik ve Yöntem Geçersiz Kılma, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 7 dersinin 7. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 7 dersten oluşur.

Çok Biçimliliğe Giriş

Çok Biçimlilik ve Yöntem Geçersiz Kılma

Sonraki derse hoş geldiniz! Bu derste, Nesne Yönelimli Programlamanın temel kavramlarından biri olan çok biçimliliği ve esnek, yeniden kullanılabilir kod sağlamak için yöntemleri nasıl geçersiz kılabileceğinizi öğreneceksiniz. Hadi başlayalım!

Çok Biçimlilik ve Yöntem Geçersiz Kılma — resim 1

Çok Biçimlilik Nedir?

Çok Biçimlilik Nedir?

Çok biçimlilik, "birçok biçim" anlamına gelir ve farklı sınıflara ait nesnelerin ortak bir temel sınıfın nesneleri olarak ele alınmasını sağlar. Bu, kodunuzda esneklik ve yeniden kullanılabilirlik sağlar.

Örnek: Bir yöntem, üzerinde çalıştığı nesnenin türüne göre farklı davranabilir.

Temel Nokta: C# dilinde çok biçimlilik, yöntemleri geçersiz kılma ve arayüzler aracılığıyla sağlanır.

Yöntem Geçersiz Kılmayı Anlama

Yöntem Geçersiz Kılmayı Anlama

Yöntem geçersiz kılma, türetilmiş bir sınıfın temel sınıfında zaten tanımlanmış bir yönteme özel bir uygulama sağlamasına olanak tanır. Temel sınıfta virtual anahtar kelimesini, türetilmiş sınıfta ise override anahtar kelimesini kullanın. Örnek:

İpucu: Yöntem geçersiz kılma, başvuru türü ne olursa olsun bir nesne için doğru yöntemin çağrılmasını sağlar.

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.Speak(); // Outputs: The dog barks.
        myCat.Speak(); // Outputs: The cat meows.
    }
}

Çok Biçimliliği Kullanma

Çok Biçimliliği Kullanma

Çok biçimlilik, ortak bir arayüz üzerinden farklı türdeki nesnelerle çalışan kodlar yazmanıza olanak tanır. Örnek:

Temel Nokta: Çok biçimlilik, daha genel ve yeniden kullanılabilir kodlar yazmanızı sağlar.

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal[] animals = { new Dog(), new Cat() };

        foreach (Animal animal in animals) {
            animal.Speak(); // Calls the appropriate method for each object
        }
    }
}

Geçersiz Kılma ile Temel Anahtar Kelimeyi Kullanma

Geçersiz Kılma ile Temel Anahtar Kelimeyi Kullanma

base anahtar kelimesi, geçersiz kılınan yöntemde temel sınıftaki bir yöntemi çağırmak için kullanılır. Örnek:

İpucu: Geçersiz kılınan bir yöntemde temel sınıfın işlevselliğini korumak istediğinizde base kullanın.

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

class Dog : Animal {
    public override void Speak() {
        base.Speak(); // Calls the base class method
        Console.WriteLine("The dog barks.");
    }
}

class Program {
    static void Main() {
        Dog myDog = new Dog();
        myDog.Speak(); // Outputs: The animal makes a sound. The dog barks.
    }
}

Soyut Sınıflar ve Yöntemler

Soyut Sınıflar ve Yöntemler

Soyut sınıflar, türetilmiş sınıflar için bir şablon sağlar. Bu sınıflar, türetilmiş sınıfta geçersiz kılınması gereken soyut yöntemler içerebilir. Örnek:

Temel Nokta: Soyut yöntemler, türetilmiş sınıfların kendi uygulamalarını sağlamasını zorunlu kılar.

using System;

abstract class Animal {
    public abstract void Speak(); // Abstract method
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Program {
    static void Main() {
        Animal myDog = new Dog();
        myDog.Speak(); // Outputs: The dog barks.
    }
}

Uygulama Görevi

Uygulama Görevi

Shape adlı, CalculateArea() isimli soyut bir yönteme sahip soyut bir sınıf oluşturun. CalculateArea() yöntemini uygulayan Rectangle ve Circle sınıflarını türetin. Örnek:

using System;

abstract class Shape {
    public abstract double CalculateArea();
}

class Rectangle : Shape {
    public double Width { get; set; }
    public double Height { get; set; }

    public override double CalculateArea() {
        return Width * Height;
    }
}

class Circle : Shape {
    public double Radius { get; set; }

    public override double CalculateArea() {
        return Math.PI * Radius * Radius;
    }
}

class Program {
    static void Main() {
        Shape rectangle = new Rectangle { Width = 4, Height = 5 };
        Shape circle = new Circle { Radius = 3 };

        Console.WriteLine("Rectangle Area: " + rectangle.CalculateArea());
        Console.WriteLine("Circle Area: " + circle.CalculateArea());
    }
}

Çok Biçimlilik için En İyi Uygulamalar

Çok Biçimlilik için En İyi Uygulamalar

İşte bazı en iyi uygulamalar:

  • Kodu sadeleştirmek ve yinelemeyi önlemek için çok biçimliliği kullanın.
  • Türetilmiş sınıflarda yalnızca özel davranış gerektiren yöntemleri geçersiz kılın.
  • Türetilmiş sınıflar arasında paylaşılan arayüzler için soyut sınıfları ve yöntemleri kullanın.

İpucu: Çok biçimlilik, kodunuzu genişletmeyi ve bakımını yapmayı kolaylaştırır.

Tebrikler!

Tebrikler!

Tebrikler! Esnek ve yeniden kullanılabilir kodlar yazmak için çok biçimliliği ve yöntem geçersiz kılmayı nasıl kullanacağınızı öğrendiniz. Sonraki derste, soyutlama elde etmek ve birden çok davranışı uygulamak için arayüzlerle çalışmayı inceleyeceğiz. Kod yazmaya devam edelim!

Çok Biçimlilik ve Yöntem Geçersiz Kılma — resim 10

Sıkça Sorulan Sorular

“Çok Biçimlilik ve Yöntem Geçersiz Kılma” dersi ücretsiz mi?

Evet — “Çok Biçimlilik ve Yöntem Geçersiz Kılma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 7 dersten oluşur.

“Çok Biçimlilik ve Yöntem Geçersiz Kılma” dersinde ne öğreneceğim?

Yöntem geçersiz kılma yoluyla esnek ve yeniden kullanılabilir kod oluşturmak için çok biçimliliğe hâkim olun C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C# Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 7 dersinin 7. dersidir.

“Çok Biçimlilik ve Yöntem Geçersiz Kılma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Nesne Tabanlı Programlama Nedir?
  2. Sınıfları ve Nesneleri Tanımlama
  3. Özellikleri ve Yöntemleri Anlama
  4. C#'ta Oluşturucular
  5. Kapsülleme ve Erişim Belirleyicileri
  6. Kalıtım: Kodu Yeniden Kullanma
  7. Çok Biçimlilik ve Yöntem Geçersiz Kılma
← C# Academy Sayfasına Dön