Lớp trong C#

0
99

Khi bạn định nghĩa một lớp, bạn phải xác định một kế hoạch chi tiết các dữ liệu. Điều này không có nghĩa là phải xác định tất cả các dữ liệu, nhưng nó phải làm rõ được ý nghĩa của tên lớp. Nó bao gồm những đối tượng của lớp và những hoạt động có thể được thực hiện trên đối tượng đó. Các đối tượng tạo thành phiên bản của một lớp. Các phương thức và các biến mà tạo thành một lớp được gọi là thành phần của lớp.

Định nghĩa một lớp

Một lớp được bắt đầu với từ khoá class tiếp theo là tên lớp; và phần thân bao bọc bởi một cặp dấu ngoặc nhọn. Sau đây là hình thức chung của một lớp:

Chú thích:

  • Quyền truy cập chỉ định các giới hạn truy cập cho các thành phần của lớp cũng như chính lớp đó. Nếu không được đề cập, quyền truy cập mặc định cho một lớp là internal. Truy cập mặc định cho các thành phần là private.
  • Kiểu dữ liệu xác định kiểu dữ liệu của biến và kiểu trả về xác định kiểu dữ liệu trả về của phương thức.
  • Để truy cập các thành phần của lớp, bạn sử dụng dấu chấm (.).
  • Các dấu chấm liên kết tên của một đối tượng với tên của một thành phần.

Ví dụ sau minh họa cho các khái niệm trên:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

Hàm thành viên và Encapsulation

Một hàm thành viên của lớp là một hàm có định nghĩa hoặc nguyên mẫu của nó trong định nghĩa lớp tương tự như bất kỳ biến khác. Nó hoạt động trên bất kỳ đối tượng của lớp chứa nó, và có quyền truy cập vào tất cả các thành viên của một lớp cho đối tượng đó.

Biến thành viên là các thuộc tính của một đối tượng và nó được giữ kín để thực hiện đóng gói. Các biến này chỉ có thể được truy cập bằng cách sử dụng chức năng thành viên công cộng.

Chúng ta hãy dùng các khái niệm trên để thiết lập và nhận giá trị của các thành phần khác nhau trong một lớp:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

Constructor

Một constructor lớp là một hàm thành viên đặc biệt của một lớp học, được thực hiện bất cứ khi nào chúng ta tạo ra các đối tượng mới của lớp đó.

Một constructor sẽ giống như tên của lớp và nó không có kiểu trả về. Ví dụ sau đây giải thích các khái niệm về constructor:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

Một constructor mặc định không có bất kỳ tham số nhưng nếu bạn cần, một constructor có thể có tham số. nhà xây dựng như vậy được gọi là constructor tham số. Kỹ thuật này giúp bạn gán giá trị ban đầu cho một đối tượng tại thời điểm khởi tạo của nó như trong ví dụ sau:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

Destructors

Một destructor là một hàm thành viên đặc biệt của một lớp, được thực hiện bất cứ khi nào khi muốn hủy một đối tượng của lớp. Destructor có tên giống như tên lớp đi với dấu tiền tố (~) và nó không trả về một giá trị nào cũng không có bất cứ tham số nào.

Destructor có thể rất hữu ích cho việc giải phóng tài nguyên bộ nhớ trước khi thoát khỏi chương trình. Destructor không thể kế thừa or nạp chồng.

Ví dụ sau đây giải thích các khái niệm về hàm hủy:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

Thành phần tĩnh của một lớp

Chúng ta có thể định nghĩa các thành viên lớp tĩnh bằng cách sử dụng từ khóa static. Khi chúng ta khai báo một thành phần của một lớp là tĩnh, nó có nghĩa là không có vấn đề bao nhiêu đối tượng của lớp được tạo ra, chỉ có một bản sao duy nhất của các thành viên tĩnh.

Các từ khóa tĩnh ngụ ý rằng chỉ có một thành phần tồn tại trong một lớp. Biến tĩnh được sử dụng để xác định hằng số vì giá trị của chúng có thể được lấy bằng cách gọi bởi các lớp mà không cần tạo một lần nữa. Biến tĩnh có thể được khởi tạo bên ngoài các hàm thành viên hoặc phần định nghĩa của lớp. Bạn cũng có thể khởi tạo các biến tĩnh bên trong định nghĩa lớp.

Ví dụ sau đây cho thấy việc sử dụng các biến tĩnh:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

Bạn cũng có thể khai báo một hàm thành viên tĩnh. Hàm này có thể truy cập các biến chỉ tĩnh. Các chức năng tĩnh tồn tại ngay cả trước khi đối tượng được tạo ra. Ví dụ sau đây cho thấy việc sử dụng các chức năng tĩnh:

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

LEAVE A REPLY