Class trong c#

Class trong c# là gì, ứng dụng Class trong C# trong việc làm phần mềm thực tế

  1. Class trong c# là gì ?
  2. Cấu trúc của một class
  3. Tại sao ta sử dụng Class khi lập trình
  4. Một số ví dụ Class trong C#

1. Class trong c# là gì ?

Trong C#, class (lớp) là một khái niệm cơ bản trong lập trình hướng đối tượng. Nó được sử dụng để định nghĩa một kiểu dữ liệu mới bằng cách nhóm các thuộc tính (properties) và phương thức (methods) liên quan.

Ví dụ: mô tả class của 1 Môn học lập trình


    class MonHoc
    {
        public MonHoc()
        { }
        public string TenMon { set; get; }
        public string DoiTuongHoc{ set; get; }    
        public int SoGioHoc{ set; get; }
    }

  Thuộc tính (properties) là TenMon , DoiTuongHoc, SoGioHoc
  Thuộc tính giống như 1 biến, nhưng có phân chia cụ thể ra là set (đẩy giá trị vào), và get (lấy giá trị ra)
   Ví dụ: 


    MonHoc mon1 = new MonHoc();
    mon1.TenMon="Lap trinh C";
   mon1.DoiTuongHoc="Sinh vien";
    mon1.SoGioHoc=20;
  
   * Nếu không sử dụng class thì bạn viết như thế nào ?
 
    
    string TenMon="Lap trinh C";
   string DoiTuongHoc="Sinh vien";
   SoGioHoc=20;

  * Bạn so sánh như thế nào 2 cách viết trên ?

Đặt câu hỏi code

2. Cấu trúc của một class

    - Thuộc tính (Properties): Là các biến mà lớp sử dụng để lưu trữ thông tin.
    - Phương thức (Methods): Là các hàm mà lớp sử dụng để thực hiện các hành động hoặc xử lý dữ liệu.
    - Constructor: Là phương thức đặc biệt được gọi khi một đối tượng của lớp được tạo ra. Nó thường được sử dụng để khởi tạo các thuộc tính.

3. Tại sao ta sử dụng Class khi lập trình

Class giúp ta lập trình theo hướng đối tượng, giúp việc quản lý code dễ dạng hơn.
Tư duy và xử lý 1 vấn đề theo hướng đối tượng giúp giải quyết vấn đề khoa học hơn.

Việc sử dụng lớp (class) trong lập trình, đặc biệt là trong ngôn ngữ lập trình hướng đối tượng như C#, mang lại nhiều lợi ích quan trọng:

    Tổ chức mã nguồn: Lớp giúp nhóm các thuộc tính và phương thức liên quan, làm cho mã nguồn trở nên dễ đọc và dễ quản lý hơn.

    Tái sử dụng mã: Bạn có thể tạo nhiều đối tượng từ cùng một lớp mà không cần phải viết lại mã cho mỗi đối tượng. Điều này tiết kiệm thời gian và công sức.

    Đóng gói (Encapsulation): Lớp cho phép ẩn thông tin bên trong, chỉ cung cấp những phương thức cần thiết để tương tác với đối tượng. Điều này giúp bảo vệ dữ liệu và giảm thiểu lỗi.

    Kế thừa (Inheritance): Bạn có thể tạo lớp mới dựa trên lớp hiện có, cho phép tái sử dụng mã và mở rộng chức năng mà không cần viết lại từ đầu.

    Đa hình (Polymorphism): Lớp cho phép bạn định nghĩa nhiều phương thức có cùng tên nhưng thực hiện các hành động khác nhau, tùy thuộc vào loại đối tượng đang được sử dụng.

    Dễ dàng bảo trì: Với việc tổ chức tốt mã nguồn trong các lớp, việc cập nhật hoặc sửa lỗi trở nên dễ dàng hơn, vì bạn chỉ cần thay đổi mã trong một nơi mà không ảnh hưởng đến toàn bộ chương trình.

4. Một số ví dụ Class trong C# 

* Phần khai báo class có thể theo file riêng hay chung trong namespace



    class HocVien
    {
        public HocVien()
        { }
        public HocVien(int ma,string ten,string lop,int toan,int ly)
        {
            Ma = ma;Ten = ten; Lop = lop;Toan = toan;Ly = ly;
        }
        public int Ma { set; get; }
        public string Ten { set; get; }
        public string Lop { set; get; }
        public int Toan { set; get; }
        public int Ly { set; get; }
        public int Tong { get { return Toan + Ly; } }
    }


 

* Phần tạo biến class và thêm giá trị cho các thuộc tính



     HocVien hv1 = new HocVien();
 // cách add 1
 hv1.Ma = 1;
 hv1.Ten = "Tran A";
 hv1.Lop = "Lớp 5";
 hv1.Toan = 7;
 hv1.Ly = 9;
 // cách add 2
 HocVien hv2 = new HocVien(2, "Le Van B", "Lớp 4",5,8);
 HocVien hv3 = new HocVien(3, "Le Van C", "Lớp 2",8,9);

 var ds_hocvien= new List<HocVien>();
 ds_hocvien.Add(hv1);
 ds_hocvien.Add(hv2);
 ds_hocvien.Add(hv3);
 dataGridView1.DataSource = ds_hocvien;

// Nếu làm winform bạn cần kéo vào dataGridView sau đó tạo sự kiện Form_Load hay sự kiện click nút lệnh button

 private void button1_Click(object sender, EventArgs e)
 {
// đưa những đoạn code C# class trên vào

}

Class trong c# là gì, ứng dụng Class trong C# trong việc làm phần mềm thực tế