Birlik Kodunda Kalıtım ve Polimorfizmin Uygulanması

Kodda inheritance ve polimorfizm uygulamak, mevcut sınıflara dayalı olarak daha özelleştirilmiş sınıflar oluşturmanıza ve farklı sınıflardaki nesneleri ortak bir temel sınıfın nesneleri olarak ele almanıza olanak tanır. Bu, kodun yeniden kullanımını, esnekliğini ve genişletilebilirliğini destekler. Unity:'de kalıtım ve polimorfizmin uygulanmasına bir örnek:

Miras

Kalıtım, mevcut bir sınıfa (ana sınıf veya temel sınıf) dayalı olarak yeni bir sınıf (alt sınıf veya türetilmiş sınıf) oluşturularak elde edilir. Alt sınıf, ana sınıfın niteliklerini ve yöntemlerini miras alır ve kendi benzersiz niteliklerini ve yöntemlerini ekleyebilir veya mevcut olanları değiştirebilir. İşte bir örnek:

// Base class
public class Shape
{
    public virtual void Draw()
    {
        Debug.Log("Drawing a shape...");
    }
}

// Derived class
public class Circle : Shape
{
    public override void Draw()
    {
        Debug.Log("Drawing a circle...");
    }
}

Bu örnekte, 'Shape' sınıfı temel sınıftır ve 'Circle' sınıfı da bundan türetilmiştir. 'Draw()' yöntemi her iki sınıfta da tanımlanır, ancak 'Circle' sınıfı, kendi uygulamasını sağlamak için yöntemi geçersiz kılar. Bu, 'Shape' sınıfında tanımlanan paylaşılan davranışı korurken 'Circle' sınıfının davranışını uzmanlaştırmanıza olanak tanır.

Polimorfizm

Polimorfizm, farklı sınıflardaki nesnelerin ortak bir temel sınıfın nesneleri olarak değerlendirilmesine olanak tanır, esneklik sağlar ve genel olarak nesneler üzerinde çalışan kodun kullanılmasına izin verir. İşte bir örnek:

void DrawShapes(Shape[] shapes)
{
    foreach (Shape shape in shapes)
    {
        shape.Draw();
    }
}

// Usage
Shape[] shapes = new Shape[] { new Circle(), new Shape() };
DrawShapes(shapes);

Bu örnekte 'DrawShapes()' yöntemi, 'Shape' nesnelerinin bir dizisini kabul eder. Dizi üzerinde yinelenir ve her nesnede 'Draw()' yöntemini çağırır. Dizi bir 'Circle' nesnesini ve bir 'Shape' temel nesnesini içerir. Ancak 'Circle' sınıfı 'Draw()' yöntemini geçersiz kıldığından, her nesne için uygun uygulama, çalışma zamanındaki gerçek türüne göre çağrılır. Bu, polimorfizmin eylem halinde olduğunu gösterir.

Çözüm

Unity kodunuzdaki kalıtım ve polimorfizmden yararlanarak, mevcut sınıflara dayalı özel sınıflar oluşturabilir, temel sınıflarda paylaşılan davranışlar tanımlayabilir ve nesneler üzerinde genel olarak çalışan kod yazabilir, esneklik sağlayabilir ve kodun yeniden kullanımını teşvik edebilirsiniz..

Önerilen Makaleler
Birlik Kodunda Temel Aritmetik İşlemlerin Uygulanması
Birlik İçinde Yerinde Rotasyon
Birlik Kodunda İstisnaları ve Hata İşleme
Birlik Kodunda Diziler ve Listelerle Çalışmak
Birlik Kodunda Koşullu İfadeler (if-else) Oluşturma
Çekmece ve Dolapların Özel Anahtarlarla Birlik İçinde Açılması
Unity'de Nesne Havuzunun Uygulanması