Lớp và đối tượng là các khái niệm cơ bản trong lập trình hướng đối tượng. Trong bài học C# hôm nay, Taimienphi.vn sẽ giới thiệu tiếp cho bạn về khái niệm lớp và đối tượng trong C#.
Trong các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về mảng (array) và vòng lặp trong C# . Bài viết tiếp theo dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về lớp và đối tượng trong C#.
Lớp và đối tượng trong C#
1. Lớp và đối tượng trong C#
Lớp trong C# là blueprint hay prototype do người dùng định nghĩa từ các đối tượng được tạo. Về cơ bản, lớp kết hợp các trường (field) và phương thức (method) (hàm thành viên định nghĩa thao tác) thành một đơn vị.
Trong C#, các lớp hỗ trợ tính đa hình, kế thừa và cũng cung cấp các khai niệm về lớp dẫn xuất (derived class) và lớp cơ sở (base class).
2. Lớp trong C#
2.1. Khai báo lớp trong C#
Về cơ bản, khai báo lớp trong C# bao gồm từ khóa Class, theo sau là định danh (tên) của lớp. Tùy theo yêu cầu ứng dụng, một số thuộc tính tùy chọn có thể được sử dụng với khai báo lớp. Nói chung, khai báo lớp trong C#, có thể bao gồm các thành phần dưới đây:
- Modifier: Lớp có thể là công khai hoặc nội bộ, ... . Mặc định, modifier của lớp là nội bộ.
- Từ khóa Class: Từ khóa Class được sử dụng để khai báo kiểu lớp.
- Định danh lớp: Biến của kiểu lớp được cung cấp. Định danh (hoặc tên) của lớp bắt đầu bằng chữ cái viết hoa theo quy ước.
- Lớp cơ sở hoặc lớp cha: Tên của lớp cha (super class), nếu có, sẽ đứng trước dấu hai chấm (:).
- Giao diện: Danh sách các giao diện được phân tách bằng dấu phẩu bởi các lớp, nếu có sẽ đứng trước dấu hai chấm (:). Một lớp có thể triển khai nhiều giao diện. Đây là tùy chọn.
- Body: Phần thân của lớp được đặt trong dấu ngoặc { }.
Constructor trong lớp được sử dụng để khởi tạo các đối tượng mới. Các trường là các biến cung cấp trạng thái của lớp và các đối tượng, và các phương thức được sử dụng để thực thi hành vi của lớp và đối tượng.
2.2. Ví dụ về lớp trong C#
Dưới đây là ví dụ về lớp trong C#:
3. Đối tượng trong C#
Đối tượng là đơn vị cơ bản của lập trình hướng đối tượng. Một chương trình C# điển hình tạo ra nhiều đối tượng khác nhau, tương tác với các đối tượng này bằng cách gọi các phương thức.
Một đối tượng trong C# bao gồm:
- Trạng thái (state): được thể hiện bằng các thuộc tính của đối tượng, đồng thời nó cũng phản ánh các thuộc tính của một đối tượng.
- Hành vi (behavior): được thể hiện bằng các phương thức của đổi tượng. Ngoài ra nó cũng phản ánh hành vi của một đối tượng với các đối tượng khác.
- Định danh: đặt một tên duy nhất cho một đối tượng và cho phép tương tác với các đối tượng khác.
Trong ví dụ dưới đây có thể xem Dog là một đối tượng, bao gồm định danh, trạng thái và hành vi của đối tượng này.
Các đối tượng trong C# tương ứng với những gì trong thế giới thực. Ví dụ, một chương trình đồ họa có thể có các đối tượng như hình tròn, hình vuông, menu. Hay hệ thống cửa hàng mua sắm trực tuyến bao gồm giỏ hàng, khách hàng và sản phẩm trực tuyến.
3.1. Khai báo đối tượng (còn gọi là khởi tạo lớp) trong C#
Khi một đối tượng của một lớp được tạo, lớp này được gọi là khởi tạo. Tất cả các biến thể chia sẻ các thuộc tính và hành vi của lớp. Tuy nhiên các giá trị của thuộc tính đó, tức là trạng thái, là duy nhất cho mỗi đối tượng. Một lớp có thể có nhiều biến thể khác nhau.
Dưới đây là ví dụ về khai báo đối tượng trong C#:
Khi chúng ta khai báo các biến, nó sẽ thông báo cho trình biên dịch là chúng ta sẽ sử dụng tên để chỉ kiểu dữ liệu. Với biến nguyên thủy, khai báo này cùng dành bộ nhớ cho biến đó. Vì vậy, với biến tham chiếu, các kiểu phải là một tên lớp cụ thể.
Ví dụ: Dog tuffy;
Nếu chúng ta khai báo biến tham chiếu (tuffy) như trên, giá trị của nó sẽ không được xác định (null) cho đến khi một đối tượng thực sự được tạo và gán cho nó. Trường hợp này chỉ cần khai báo một biến tham chiếu không tạo ra đối tượng.
3.2. Khởi tạo đối tượng trong C#
Toán tử new khởi tạo một lớp bằng cách phân bổ bộ nhớ cho đối tượng mới và trả về tham chiếu đến bộ nhớ đó. Ngoài ra toán tử new cũng gọi constructor của lớp.
Ví dụ về khởi tạo đối tượng trong C#:
Kết quả đầu ra có dạng:
Giải thích: Lớp này chứa một constructor. Chúng ta có thể nhận ra constructor vì khai bao của nó sử dụng cùng tên với rên lớp và không có kiểu giá trị trả về.
Trình biên dịch C# phân biệt constructor dựa trên số lượng và kiểu đối số. Constructor trong lớp Dog có 4 đối số. Lệnh dưới đây khởi tạo giá trị cho "tuffy", "papillon", 5, "white":
Dog tuffy = new Dog("tuffy", "papillon", 5, "white");
Kết quả thực thi lệnh trên trả về kết quả như dưới đây:
Bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về lớp và đối tượng trong C#. Nếu có bất kỳ thắc mắc hoặc câu hỏi nào cần giải đáp như Nullable trong C# là gì?, bạn đọc vui lòng để lại ý kiến của mình trong phần bình luận bên dưới bài viết, Taimienphi.vn sẽ giải đáp các thắc mắc của bạn sớm nhất có thể.
https://thuthuat.taimienphi.vn/lop-va-doi-tuong-trong-c-43811n.aspx