Trong bài này chúng ta sẽ học về lớp và đối tượng trong C#. Trong phương pháp lập trình hướng đối tượng, chúng ta thiết kế chương trình bằng việc sử dụng các lớp và đối tượng.
Nội dung chính
Lớp (class) và đối tượng (Object)
Một lớp là một nhóm đối tượng có các thuộc tính chung. Nó là một mẫu hoặc thiết kế từ đó các đối tượng được tạo ra.
Một thực thể có trạng thái và hành vi được gọi là đối tượng. Ví dụ như máy pha cà phê, xe đạp, cái quạt...
Một đối tượng có ba đặc điểm:
- Trạng thái: Đại diện cho dữ liệu (giá trị) của một đối tượng.
- Hành vi: Đại diện cho hành vi (chức năng) của một đối tượng như gửi tiền, rút tiền, ...
- Danh tính: Danh tính của một đối tượng thường được cài đặt thông qua một ID duy nhất. ID này được ẩn đối với user bên ngoài. Tuy nhiên nó được sử dụng trong nội bộ máy ảo JVM để định danh từng đối tượng.
Ví dụ: Bút chì là một đối tượng. Tên của nó là A, màu trắng, ... được gọi là trạng thái. Nó được sử dụng để viết, viết được gọi là hành vi.
Đối tượng(Object) là một thể hiện của một lớp(Class). Lớp là một mẫu hoặc thiết kế từ đó các đối tượng được tạo ra. Vì vậy, đối tượng là các thể hiện (kết quả) của một lớp.
Tạo một lớp
Sử dụng từ khóa class để tạo lớp trong C#:
Ví dụ tạo lớp hình chữ nhật có biến width và length:
class HinhChuNhat { float width = 10; float height= 20; }
Khi một biến được khai báo trực tiếp trong một lớp, nó thường được gọi là một trường (hoặc thuộc tính).
Không bắt buộc, nhưng nên bắt đầu bằng chữ cái đầu tiên viết hoa khi đặt tên lớp. Ngoài ra, nên đặt tên file C# và lớp giống nhau, vì nó làm cho mã của chúng ta có tổ chức. Tuy nhiên, nó không bắt buộc (như trong Java ).
Tạo một đối tượng
Một đối tượng được tạo ra từ một lớp. Chúng ta đã tạo lớp có tên HinhChuNhat , vì vậy bây giờ chúng ta có thể sử dụng lớp này để tạo đối tượng.
Để tạo một đối tượng HinhChuNhat , chỉ định tên lớp, theo sau là tên đối tượng và sử dụng từ khóa new :
Ví dụ: tạo một đối tượng gọi là "myObj" và sử dụng nó để in giá trị của chiều dài và chiều rộng:
using System; namespace KienThucLapTrinhCsharp { class HinhChuNhat { float width = 10; float height= 20; static void Main(string[] args) { HinhChuNhat myObj = new HinhChuNhat(); Console.WriteLine("Chieu dai: " + myObj.height); Console.WriteLine("Chieu rong: " + myObj.height); } } }
Kết quả:
Chieu dai: 20 Chieu rong: 10
Tạo nhiều đối tượng
Bạn có thể tạo nhiều đối tượng của một lớp, Ví dụ:
using System; namespace KienThucLapTrinhCsharp { class HinhChuNhat { float width = 10; float height= 20; static void Main(string[] args) { // tao doi tong myObj1 HinhChuNhat myObj1 = new HinhChuNhat(); Console.WriteLine("Chieu dai: " + myObj1.height); Console.WriteLine("Chieu rong: " + myObj1.width); HinhChuNhat myObj2 = new HinhChuNhat(); Console.WriteLine("Chieu dai: " + myObj2.height); Console.WriteLine("Chieu rong: " + myObj2.width); } } }
Kết quả:
Chieu dai: 20 Chieu rong: 10 Chieu dai: 20 Chieu rong: 10
Sử dụng nhiều lớp
Bạn cũng có thể tạo một đối tượng của một lớp và truy cập nó trong một lớp khác. Điều này thường được sử dụng để tổ chức các lớp khoa học hơn.
Ví dụ tạo ra 2 lớp sau:
Lớp: HinhChuNhat.cs
using System; namespace KienThucLapTrinhCsharp { class HinhChuNhat { float width = 10; float height = 20; public float TinhDienTich() { return width * height; } } }
Lớp: Program.cs
using System; namespace KienThucLapTrinhCsharp { class Program { static void Main(string[] args) { HinhChuNhat myObj = new HinhChuNhat(); Console.WriteLine("Dien tich hinh chu nhat: " + myObj.TinhDienTich()); } } }
Kết quả:
Dien tich hinh chu nhat: 200