التعددية الشكلية (Polymorphism)

📘 درس Visual Basic - التعددية الشكلية (Polymorphism)


🔹 ما هي التعددية الشكلية؟

التعددية الشكلية (Polymorphism) تعني قدرة الكائنات على استخدام نفس الواجهة (Interface) لتنفيذ سلوكيات مختلفة. بمعنى آخر، يمكن استدعاء نفس الدالة على كائنات متعددة وتتصرف كل منها بطريقة خاصة بها.


💡 لماذا نستخدمها؟

لأنها توفر مرونة كبيرة في كتابة الكود وتسمح لك بالتعامل مع مجموعات مختلفة من الكائنات باستخدام واجهة موحدة.


✅ أنواع التعددية الشكلية

  • تعددية الشكل في وقت الترجمة (Compile-Time): وتُعرف باسم Overloading حيث يمكنك إنشاء عدة دوال بنفس الاسم لكن بمعاملات مختلفة.
  • تعددية الشكل في وقت التشغيل (Run-Time): وتُعرف باسم Overriding حيث يمكنك تغيير سلوك الدوال الموروثة في الكلاس المشتق.

💻 مثال مبسط على التعددية الشكلية


Public Class Animal
    Public Overridable Sub Speak()
        Console.WriteLine("الحيوان يصدر صوتًا")
    End Sub
End Class

Public Class Dog
    Inherits Animal

    Public Overrides Sub Speak()
        Console.WriteLine("الكلب ينبح")
    End Sub
End Class

Module Program
    Sub Main()
        Dim myAnimal As Animal = New Dog()
        myAnimal.Speak()
    End Sub
End Module

🌍 English Explanation

Polymorphism means that objects can use the same interface to perform different behaviors. In other words, you can call the same method on different objects, and each one behaves in its own way.

💡 Why Use It?

Because it provides great flexibility in your code and allows you to work with different groups of objects through a unified interface.

✅ Types of Polymorphism

  • Compile-Time Polymorphism: Known as Overloading, where you create multiple methods with the same name but different parameters.
  • Run-Time Polymorphism: Known as Overriding, where you change the behavior of inherited methods in derived classes.

💻 Simple Example of Polymorphism


Public Class Animal
    Public Overridable Sub Speak()
        Console.WriteLine("Animal makes a sound")
    End Sub
End Class

Public Class Dog
    Inherits Animal

    Public Overrides Sub Speak()
        Console.WriteLine("Dog barks")
    End Sub
End Class

Module Program
    Sub Main()
        Dim myAnimal As Animal = New Dog()
        myAnimal.Speak()
    End Sub
End Module

تعليقات

المشاركات الشائعة من هذه المدونة

1.1 SQL Introduction

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

LINQ Concat Method