VieTopikKhoá học
  • Games
  • Cá nhân
Tải app
© 2026 VieTopikChính sách bảo mậtĐiều khoản sử dụngCài appEnglish
  • Trang chủ
  • Học
  • Luyện thi
  • Cẩm nang
  • Games
  • Cá nhân
C# CoreClass cơ bản
Bài 10/19
4 phút

Class và object

Bình luận
Nội dung bài · 5 mục
  1. 1.Khái niệm
  2. 2.Ví dụ
  3. 3.Thử ngay
  4. 4.Lỗi hay gặp
  5. 5.Tóm tắt

Tới giờ bạn mới dùng các kiểu có sẵn như int, string, List<T>. Nhưng một sản phẩm trong cửa hàng có cả tên, giá và cách tính tiền, không kiểu có sẵn nào chứa hết được. Bài này hướng dẫn bạn tự tạo kiểu riêng bằng class.

Khái niệm

📐 Class: kiểu dữ liệu do bạn tự định nghĩa, gom dữ liệu và hành vi liên quan vào một chỗ.

🧊 Object: một giá trị cụ thể được tạo ra từ class bằng từ khoá new.

📎 Field: biến khai báo bên trong class, mỗi object giữ một bản riêng.

Class chỉ là phần mô tả. Muốn dùng thì phải tạo object từ nó, và từ một class tạo bao nhiêu object cũng được.

Ví dụ

var pen = new Product();
pen.Name = "Bút bi";
pen.Price = 5000;

Console.WriteLine(pen.TotalFor(2)); // 10000

class Product
{
    public string Name = "";   // mặc định là chuỗi rỗng
    public decimal Price;

    public decimal TotalFor(int quantity)
    {
        return Price * quantity;
    }
}
  • class Product khai báo hai field (Name, Price) và một method (TotalFor).
  • public cho phép code bên ngoài class dùng field và method đó.
  • new Product() tạo một object, biến pen giữ object đó.
  • Dùng dấu chấm để truy cập field và method của object: pen.Price, pen.TotalFor(2). Bên trong TotalFor, Price chính là giá của pen.

Thử ngay

Chép ví dụ trên vào Program.cs, thay bốn dòng đầu bằng đoạn sau rồi chạy dotnet run:

var pen = new Product();
pen.Name = "Bút bi";
pen.Price = 5000;

var notebook = new Product();
notebook.Name = "Vở";
notebook.Price = 12000;

pen.Price = 6000;

Console.WriteLine($"{pen.Name}: {pen.Price}");
Console.WriteLine($"{notebook.Name}: {notebook.Price}");

Đoán trước khi chạy: đổi giá pen thành 6000 thì giá notebook có đổi theo không?

Xem kết quả
Bút bi: 6000
Vở: 12000

Không đổi. pen và notebook là hai object riêng, mỗi object giữ Price của mình.

Lỗi hay gặp

Khai báo biến nhưng quên new. Biến chưa được gán object nào nên không dùng được.

// SAI — lỗi compile: biến chưa được gán
Product pen;
pen.Price = 5000;
// ĐÚNG — tạo object trước rồi mới dùng
var pen = new Product();
pen.Price = 5000;

Tóm tắt

  • Class mô tả dữ liệu (field) và hành vi (method).
  • new tạo object từ class, mỗi object giữ field riêng.
  • Dùng dấu chấm để truy cập field và method: pen.Price, pen.TotalFor(2).
DictionaryProperty và constructor

Bình luận

Đang tải bình luận…

Nội dung bài

  1. 1.Khái niệm
  2. 2.Ví dụ
  3. 3.Thử ngay
  4. 4.Lỗi hay gặp
  5. 5.Tóm tắt