Lập trình hướng đối tượng C#

Kế thừa trong C#

Trong bài học này, bạn sẽ tạo một class con kế thừa từ class cha để tái sử dụng code và tùy chỉnh hành vi.

Giới thiệu

Kế thừa (inheritance) cho phép một class mới (class con) nhận lại toàn bộ dữ liệu và phương thức của một class có sẵn (class cha), rồi bổ sung hoặc thay đổi hành vi. Kế thừa thể hiện quan hệ "là một", ví dụ một lập trình viên là một nhân viên, và chỉ nên dùng khi quan hệ này thật sự đúng.

Class Employee lưu tên nhân viên và có phương thức Describe() được đánh dấu virtual, nghĩa là class con được phép ghi đè. Class Developer kế thừa Employee, truyền tên lên class cha qua Employee(name) và dùng override để mô tả thêm ngôn ngữ lập trình. Kết quả là Ada writes C#.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;

class Employee(string name)
{
    public string Name { get; } = name;
    public virtual string Describe() => Name;
}

class Developer(string name, string language) : Employee(name)
{
    public override string Describe() => $"{Name} writes {language}";
}

class Program
{
    static void Main() => Console.WriteLine(new Developer("Ada", "C#").Describe());
}
Kết quả khi chạy
Ada writes C#

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

Luyện tập với thử thách

Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.

Tất cả thử thách