21 tháng 4, 2020

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

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

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 đó.

SHARE THIS

Blogger Nguyễn Dương

Có một câu nói mà mình rất thích đó là "Thật sai lầm khi nghĩ rằng một khi rời khỏi trường học, bạn không cần học thêm điều mới nữa". Chính vì thế mà hãy luôn luôn học hỏi, con người chỉ ngừng phát triển khi ngừng học hỏi. Nếu như bạn chưa hiểu nội dung bài viết hoặc đang khúc mắc khi thao tác thì hãy bình luận phía dưới bài viết để mọi người cùng thảo luận nhé!