Static Polymorphism (หรือ Static Binding) คือการเชื่อมโยงฟังก์ชันกับออบเจกต์ในขณะคอมไพล์ (Compile Time) C# รองรับ 2 เทคนิค:
- Function Overloading - การกำหนดฟังก์ชันชื่อเดียวกันหลายรูปแบบ
- Operator Overloading - การกำหนดพฤติกรรมของ Operator ใหม่
Function Overloading
สามารถมีการนิยามฟังก์ชันชื่อเดียวกันหลายแบบในขอบเขตเดียวกัน ได้ ต้องแตกต่างกันที่ชนิดหรือจำนวนพารามิเตอร์ ไม่สามารถ overload ได้แค่ต่าง Return Type
ตัวอย่าง
using System;
namespace PolymorphismApplication
{
class Printdata
{
void print(int i)
{
Console.WriteLine("Printing int: {0}", i);
}
void print(double f)
{
Console.WriteLine("Printing float: {0}", f);
}
void print(string s)
{
Console.WriteLine("Printing string: {0}", s);
}
static void Main(string[] args)
{
Printdata p = new Printdata();
p.print(5);
p.print(500.263);
p.print("Hello C++");
Console.ReadKey();
}
}
}