Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bài 2: Class trong c#, câu hỏi - Coggle Diagram
Bài 2: Class trong c#
Class trong c# là gì?
Là cách thể hiện khái niệm về lớp
các thành phần
Thuộc tính: là các thành phần dữ liệu hay còn gọi là các biến
Phương thức: Là các hàm thành phần thể hiện các hành vi của một đối tượng
Phương thức khởi tạo
Phương thức hủy bỏ
Class thực chất là một kiểu dữ liệu mới do người dùng tự định nghĩa
Khai báo, khởi tạo và sử dụng class
cú pháp
class<tên lớp>{<phạm vi truy cập><Các thành phần của lớp>}
<tên lớp> là tên do người dùng đặt và tuân theo quy tắc
<phạm vi truy cập> bao gồm các từ khóa như: public, protected, private,static
<các thành phần của lớp> bao gồm biến và phương thức
Ví dụ: Class Animal{public double Weight; public double Height; public void Run(){Console.WriteLine("Animal is running");}}
khởi tạo
khởi tạo một đối tượng thuộc lớp thông qua toán tử new
VD: Animal Dog = new Animal();
Class là kiểu dữ liệu tham chiếu vì thế đối tượng dữ liệu thực sự được lưu trên Heap
Sử dụng
gọi đến thuộc tính
<tên đối tượng>.<tên thuộc tính>;
gọi đến phương thức bên trong lớp
<tên đối tượng>.<tên phương thức>(<danh sách tham số nếu có>);
3.Phương thức khởi tạo, phương thức hủy bỏ
Phương thức khởi tạo (constructor)
Trong thế giới thực, khi 1 sự vật nào đó được sinh ra thì nó sẽ mang sẵn trong mình những đặc điểm nhất định và mọi sự vật cùng loài với nó cũng đều như vậy
Là những phương thức đặc biệt được gọi đến ngay khi khởi tạo một đối tượng nào đó
Đặc điểm
Có tên trùng với tên lớp
Không có kiểu trả về
ĐƯợc tự động gọi khi 1 đối tượng thuộc lớp được khởi tạo
Nếu ta không khai báo thì hệ thống sẽ tự tạo ra phương thức khởi tạo mặc định không đối số và không có nội dung gì
Có thể có nhiều constructor bên trong 1 lớp
Có 2 loại
Phương thức khởi tạo không đối số
Không tham số truyền vào
Thường dùng để khởi tạo các giá trị mặc định cho các thuộc tính bên trong class khi khởi tạo đối tượng
Phương thức khởi tạo có đối số
có tham số truyền vào
Khởi tạo các giá trị cho các thuộc tính bên trong class khi khởi tạo đối tượng (các giá trị này do người khởi tạo đối tượng truyền vào)
Ví dụ: public Cat(){Weight = 800;}public Cat(int W){Weight = w;}
Phương thức hủy bỏ(destructor)
Là phương thức đặc biệt được gọi đến trước khi một đối tượng bị thu hồi
Có tên trùng với tên lớp nhưng để phân biệt với constructor ta thêm dấu "~" vào trước tên lớp
Không có kiểu trả về
Được tự động gọi khi 1 đối tượng thuộc lớp kết thúc "vòng đời" của nó thông qua bộ thu gom rác tự động GC(Garbage Collection)
Nếu không khai báo descontructor thì c# sẽ tự động tạo ra 1 descontructor mặc định và không có nội dung gì
Chỉ có 1 destructor duy nhất trong một lớp
4.So sánh struct và class
class mạnh hơn struct nhiều
0.source:
https://www.howkteam.vn/course/lap-trinh-oop-voi-c/class-trong-lap-trinh-huong-doi-tuong-1370
câu hỏi
Tại sao class thực chất là một kiểu dữ liệu
Tại sao phải khởi tạo đối tượng