Trang chủ C# hướng đối tượng Đối tượng và lớp

Đối tượng và lớp

Nguyễn Dương 07-06-2024

Vì 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

Đối tượng (object) được hiểu như là một thực thể trong thế giới thực, ví dụ như cái bàn, cái ghế, con chó, con mèo, chiếc bút.

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

Lớp là một nhóm các đối tượng có đặc tính tương tự nhau. Đây là một khuôn mẫu các thuộc tính và phương thức chung của các đối tượng trong cùng 1 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 đó.

Bài viết liên quan

Interface trong C# Interface trong C#
Tính đa hình trong C# Tính đa hình trong C#
Tính kế thừa trong C# Tính kế thừa trong C#
this và static trong C# this và static trong C#
Các loại phạm vi truy cập trong C# Các loại phạm vi truy cập trong C#
Hàm khởi tạo và hàm hủy Hàm khởi tạo và hàm hủy