Sử dụng tính kế thừa, đa hình và giao diện là những khái niệm quan trọng trong lập trình hướng đối tượng (OOP) của C#. Dưới đây là cách bạn có thể sử dụng chúng:
1. Kế Thừa (Inheritance):
Kế thừa cho phép một lớp (lớp con) kế thừa các thuộc tính và phương thức của một lớp khác (lớp cha). Trong C#, bạn có thể sử dụng kế thừa như sau:
// Lớp cha
public class Animal
{
public void Eat()
{
Console.WriteLine("Animal is eating...");
}
}
// Lớp con kế thừa từ lớp cha
public class Dog : Animal
{
public void Bark()
{
Console.WriteLine("Dog is barking...");
}
}
2. Đa Hình (Polymorphism):
Đa hình cho phép một phương thức hoạt động theo cách khác nhau dựa trên lớp con mà nó được gọi. Trong C#, bạn có thể sử dụng đa hình với phương thức ghi đè (override) và phương thức quy tắc (virtual method) như sau:
// Lớp cha với phương thức quy tắc
public class Shape
{
public virtual void Draw()
{
Console.WriteLine("Drawing a shape...");
}
}
// Lớp con ghi đè phương thức Draw của lớp cha
public class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a circle...");
}
}
// Lớp con khác ghi đè phương thức Draw của lớp cha
public class Rectangle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a rectangle...");
}
}
3. Giao Diện (Interfaces):
Giao diện định nghĩa một tập hợp các phương thức mà một lớp phải triển khai. Trong C#, bạn có thể sử dụng giao diện như sau:
// Giao diện
public interface IShape
{
void Draw();
}
// Lớp triển khai giao diện
public class Circle : IShape
{
public void Draw()
{
Console.WriteLine("Drawing a circle...");
}
}
// Lớp khác triển khai giao diện
public class Rectangle : IShape
{
public void Draw()
{
Console.WriteLine("Drawing a rectangle...");
}
}
Sử Dụng Trong Mã:
Sau khi định nghĩa các lớp và giao diện, bạn có thể sử dụng chúng trong mã như sau:
static void Main(string[] args)
{
Dog dog = new Dog();
dog.Eat(); // Gọi phương thức từ lớp cha
dog.Bark(); // Gọi phương thức từ lớp con
Shape shape1 = new Circle();
shape1.Draw(); // Gọi phương thức của Circle
Shape shape2 = new Rectangle();
shape2.Draw(); // Gọi phương thức của Rectangle
IShape shape3 = new Circle();
shape3.Draw(); // Gọi phương thức từ giao diện
}
Tổng Kết:
Kế thừa, đa hình và giao diện là các khái niệm quan trọng trong lập trình hướng đối tượng của C#. Chúng cho phép bạn tái sử dụng mã, tổ chức mã của bạn một cách có tổ chức hơn và tăng tính linh hoạt trong việc phát triển ứng dụng của bạn.
Comments