Câu hỏi phỏng vấn C#
Câu hỏi

Abstract class trong C# là gì?

Câu trả lời

Trong C#, Abstract Class (Lớp trừu tượng) là một khái niệm quan trọng trong lập trình hướng đối tượng (OOP). Một lớp trừu tượng là một lớp không thể được khởi tạo trực tiếp, nghĩa là bạn không thể tạo đối tượng từ một lớp trừu tượng. Thay vào đó, lớp trừu tượng thường được sử dụng như một lớp cơ sở cho các lớp khác kế thừa từ nó.

Đặc điểm của Abstract Class:

  • Không thể khởi tạo: Bạn không thể sử dụng từ khóa new để tạo một instance của một lớp trừu tượng.
  • Chứa phương thức trừu tượng: Lớp trừu tượng có thể chứa phương thức trừu tượng, là những phương thức không có thân hàm và bắt buộc phải được triển khai (override) trong các lớp con.
  • Chứa phương thức được triển khai sẵn: Ngoài các phương thức trừu tượng, lớp trừu tượng cũng có thể chứa các phương thức đã được triển khai sẵn. Các lớp con có thể kế thừa hoặc ghi đè (override) các phương thức này.
  • Kế thừa: Một lớp chỉ có thể kế thừa từ một lớp trừu tượng tại một thời điểm. C# không hỗ trợ đa kế thừa trực tiếp cho các lớp, nhưng bạn có thể sử dụng interface để đạt được tính đa hình tương tự.

Ví dụ về Abstract Class:

csharp Copy
public abstract class Animal
{
    public abstract void Eat();

    public void Sleep()
    {
        Console.WriteLine("Sleeping");
    }
}

public class Dog : Animal
{
    public override void Eat()
    {
        Console.WriteLine("Eating");
    }
}

Trong ví dụ trên, Animal là một lớp trừu tượng với một phương thức trừu tượng Eat() và một phương thức được triển khai sẵn Sleep(). Dog là một lớp con của Animal và bắt buộc phải triển khai phương thức Eat().

Tại sao sử dụng Abstract Class?

  • Tính trừu tượng: Lớp trừu tượng cho phép bạn tạo ra một cấu trúc cơ bản cho các lớp con, đồng thời giữ cho một số phần của nó mở để các lớp con có thể triển khai theo cách riêng của chúng.
  • Tái sử dụng code: Lớp trừu tượng cho phép tái sử dụng code thông qua việc kế thừa các phương thức đã được triển khai sẵn.
  • Tính đa hình: Lớp trừu tượng hỗ trợ tính đa hình, cho phép bạn sử dụng một tham chiếu của lớp trừu tượng để tham chiếu đến đối tượng của bất kỳ lớp con nào, giúp code linh hoạt và dễ bảo trì hơn.

Tóm lại, lớp trừu tượng trong C# là một công cụ mạnh mẽ cho việc thiết kế và triển khai kiến trúc phần mềm, giúp tạo ra các ứng dụng có cấu trúc rõ ràng, dễ mở rộng và bảo trì.

junior

junior

Gợi ý câu hỏi phỏng vấn

middle

Phạm vi của biến thành viên protected internal trong một lớp C# là gì?

entry

C# là gì?

middle

Có sự khác biệt giữa throwthrow ex không?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào