Đối tượng và lớp
Nguyễn Dương 07-06-2024Vì C# là ngôn ngữ lập trình hướng đối tượng nên chương trình của nó được thiết kế là để sử dụng lớp (class) và đối tượng (object). Trong bài viết trước, các bạn đã biết lớp và đối tượng là đặc trưng của lập trình hướng đối tượng rồi đúng không. Trong bài viết này chúng ta cùng tìm hiểu kỹ hơn về chúng nhé.
1. ĐỐI TƯỢNG
Một đối tượng bao gồm 2 trường thông tin là: thuộc tính và phương thức.
Đối tượng là một thực thể runtime, vì nó được tạo ra trong thời gian chương trình chạy. Đối tượng là một thể hiện của một lớp. Tất cả các thành viên của lớp có thể được truy cập thông qua đối tượng.
Để tạo đối tượng chúng ta sử dụng từ khóa new
People P1 = new People();
Trong ví dụ trên, People là kiểu dữ liệu và P1 là biến tham chiếu đến thể hiện của lớp People. Từ khóa new được cấp phát bộ nhớ trong thời gian chạy (runtime).
2. LỚP
Class trong C# chính là cách thể hiện về lớp trong lập trình hướng đối tượng.
Một class trong C# có các thành phần sau:
- Thuộc tính: là các thành phần dữ liệu hay còn gọi là các biến
- Phương thức: là các hàm thành phần thể hiện các hành vi của một đối tượng thuộc lớp
- Hàm khởi tạo (Constructor)
- Hàm huỷ bỏ (Destructor)
Bạn có thể tạo ra các class khác ngoài class có sẵn khi tạo chương trình C#.
Về cơ bản thì class được sử dụng tương tự như struct.
Để gọi đến các thuộc tính bên trong lớp ta sử dụng cú pháp:
<tên đối tượng>.<tên thuộc tính>;
Để gọi đến các phương thức bên trong lớp ta sử dụng cú pháp:
<tên đối tượng>.<tên phương thức>(Danh sách tham số nếu có);
Ví dụ: Tạo ra 1 class người gồm số CMND, họ tên và tuổi
namespace ConsoleApp9 { public class People { public int ID; public string Name; public int Age; public void InfoPeople() { Console.WriteLine("Ho ten: {0}, CMND/CCCD: {1}, Tuoi: {2}", Name, ID, Age); } } class Program { static void Main(string[] args) { People P1 = new People(); P1.ID = 123456789; P1.Name = "Nguyen Duong"; P1.Age = 28; People P2 = new People(); P2.ID = 123456788; P2.Name = "Vu Thi Thuy"; P2.Age = 26; P1.InfoPeople(); P2.InfoPeople(); Console.ReadLine(); } } }
Trong ví dụ này mình đã tạo ra một class People (người) bao gồm có các thuộc tính là số CMND (ID), họ tên (Name), tuổi (Age) và phương thức hiển thị thông tin về người (InfoPeople). Vậy tất cả các đối tượng của lớp People được khởi tạo đều có các thuộc tính và phương thức này.
Khi chạy chương trình bạn có thể thấy tuỳ vào giá trị của từng đối tượng mà phương thức InfoPeople in ra đúng giá trị tương ứng với đối tượng đó.