Hướng dẫn lớp trừu tượng C# với ví dụ: Trừu tượng là gì?
Lớp trừu tượng trong C# là gì?
Lớp trừu tượng không bao giờ có thể được khởi tạo và được đánh dấu bằng từ khóa trừu tượng. Một lớp trừu tượng chứa không hoặc nhiều phương thức trừu tượng trong đó. Lớp trừu tượng hoạt động như một lớp cơ sở và được thiết kế để kế thừa bởi các lớp con thực hiện hoặc ghi đè phương thức của nó.
Hãy cùng tìm hiểu lớp trừu tượng trong C# với ví dụ dưới đây. Dưới đây là định nghĩa của một lớp có tên là 'Động vật'. Khi lớp 'Động vật' được xác định, không có thông tin gì về con vật đó, cho dù đó là chó hay mèo. Phương thức được gọi là mô tả chỉ là một phương thức chung được xác định cho lớp.
Bây giờ khi đã biết chính xác Động vật sẽ là gì, chúng ta tạo một lớp khác kế thừa lớp cơ sở. Nếu chúng ta biết rằng con vật đó thực chất là Chó, chúng ta sẽ tạo lớp Dog kế thừa lớp cơ sở chính. Điểm khác biệt chính ở đây là lớp Dog không thể thay đổi định nghĩa của Descriptphương pháp ion của lớp Động vật. Nó phải định nghĩa phương thức trừu tượng C# của riêng nó được gọi là Dog-Description. Đây là khái niệm cơ bản của các lớp trừu tượng C#.
Tạo một lớp trừu tượng trong C#
Hãy xem lớp trừu tượng trong C# với các ví dụ thời gian thực về cách chúng ta có thể thay đổi mã của mình để bao gồm lớp trừu tượng C#. Lưu ý rằng chúng tôi sẽ không chạy mã vì không có gì có thể chạy được bằng cách sử dụng lớp trừu tượng C#.
Bước 1) Bước đầu tiên, hãy tạo một lớp trừu tượng. Lớp học sẽ được gọi là Hướng dẫn và sẽ chỉ có một phương thức. Tất cả mã cần phải được viết trong tệp Program.cs.
Giải thích mã: -
- Đầu tiên chúng ta định nghĩa lớp trừu tượng. Lưu ý việc sử dụng từ khóa trừu tượng. Điều này được sử dụng để biểu thị rằng lớp này là một lớp trừu tượng.
- Tiếp theo, chúng tôi đang xác định phương thức của mình và không làm gì cả. Phương thức này phải có từ khóa gọi là ảo. Điều này có nghĩa là lớp con không thể thay đổi phương thức. Đây là yêu cầu cơ bản đối với bất kỳ lớp trừu tượng nào.
Bước 2) Bây giờ hãy thêm lớp con của chúng ta. Mã này được thêm vào tệp Program.cs.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { abstract class Tutorial { public virtual void Set() { } } class Guru99Tutorial:Tutorial { protected int TutorialID; protected string TutorialName; public void SetTutorial(int pID,string pName) { TutorialID=pID; TutorialName=pName; } public String GetTutorial() { return TutorialName; } static void Main(string[] args) { Guru99Tutorial pTutor=new Guru99Tutorial(); pTutor.SetTutorial(1,".Net"); Console.WriteLine(pTutor.GetTutorial()); Console.ReadKey(); } } }
Không có gì đặc biệt về mã này. Chúng tôi chỉ định nghĩa một lớp có tên là 'Guru99Tutorial' kế thừa lớp Hướng dẫn trừu tượng. Sau đó, chúng tôi xác định các phương pháp tương tự như chúng tôi đã sử dụng trước đó.
Lưu ý:
Ở đây chúng ta không thể thay đổi định nghĩa của phương thức Set đã được định nghĩa trong lớp Hướng dẫn. Trong lớp Hướng dẫn, chúng ta đã định nghĩa một phương thức có tên là 'Set' (public virtual void Set()). Vì phương thức này là một phần của lớp trừu tượng C# nên chúng tôi không được phép định nghĩa lại phương thức Set trong lớp Guru99Tutorial.
Tổng kết
Một lớp trừu tượng trong C sắc nét là bản thiết kế cho các lớp khác, được đánh dấu bằng abstract
từ khóa. Không thể khởi tạo trực tiếp và có thể bao gồm các phương thức trừu tượng mà các lớp dẫn xuất phải triển khai. Các lớp trừu tượng áp đặt một cấu trúc nhất quán trên các lớp con trong khi vẫn cho phép chức năng cụ thể. Khái niệm này thường được sử dụng để xác định các hành vi cơ sở và đảm bảo tính linh hoạt của mã thông qua kế thừa.