6. Kế thừa trong lập trình C# hướng đối tượng

Tính kế thừa (inheritance) trong lập trình C# hướng đối tượng là khái niệm cho phép một lớp mới (lớp con) có thể dựa trên một lớp hiện có (lớp cha) để sử dụng lại các thuộc tính và phương thức của lớp cha. Lớp con có thể mở rộng hoặc ghi đè các thành phần của lớp cha để cung cấp thêm hoặc thay đổi hành vi trong lập trình C# hướng đối tượng.

Dưới đây là một số điểm cơ bản về tính kế thừa trong C#:

1. Kế thừa lớp cha:

csharp
class Animal {
    public void Eat() {
        Console.WriteLine("Animal is eating.");
    }
}

class Dog : Animal {
    public void Bark() {
        Console.WriteLine("Dog is barking.");
    }
}

class Program {
    static void Main() {
        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
    }
}

2. Ghi đè phương thức:

csharp
class Shape {
    public virtual void Draw() {
        Console.WriteLine("Drawing a shape.");
    }
}

class Circle : Shape {
    public override void Draw() {
        Console.WriteLine("Drawing a circle.");
    }
}

class Program {
    static void Main() {
        Shape shape = new Circle();
        shape.Draw();  // Gọi phương thức từ lớp con (vì đã ghi đè)
    }
}

3. Superclass và subclass: Lớp cha (superclass) là lớp mà lớp con dựa trên. Lớp con (subclass) kế thừa tất cả các thuộc tính và phương thức của lớp cha.

4. Keyword “base” và “this”: Keyword base được sử dụng để gọi các thành phần của lớp cha từ lớp con. Keyword this tham chiếu đến đối tượng hiện tại của lớp đó.

5. Kế thừa đa cấp (multilevel inheritance): Một lớp có thể là lớp con của một lớp khác, và cũng có thể là lớp cha của một lớp khác.

6. Lớp trừu tượng và giao diện (abstract classes and interfaces): Kế thừa có thể sử dụng để tạo lớp trừu tượng và triển khai giao diện để định nghĩa các phương thức trừu tượng và khai báo hành vi chung.

Kế thừa giúp tạo ra các hiệu suất tái sử dụng mã, tăng tính dễ đọc và duy trì của mã, và cho phép mô hình hóa các quan hệ “is-a” giữa các đối tượng trong lập trình C# hướng đối tượng.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top