- Không. Ngoài thuộc tính và phương thức, class còn chứa nhiều thứ khác.
public delegate void DelegateType();
public class MyClass{
public MyClass(){} // <-- constructor
~MyClass(){} //<-- destructor
public int MyProperty{get;set;} // <-- property
public void MyMethod(){}; // <-- method
public static void MyFuntion(){};// <-- function
public DelegateType MyDelegate; // <-- delegate
public event DelegateType MyEvent; // <-- event
public class OrtherClass{..} // <- orther class
//....
}
Constructor là hàm khởi tạo. Có thể coi như một phương thúc đặc biệt. Mặc định sẽ được chạy đầu tiên khi khởi tạo đối tượng. Có mục đích là tạo nên đối tượng hoặc tạo các thiết đặt mặc định cho đối tượng. Chứ nó không chứa cái hay kiểm soát cái gì.
Destructor thì ngược lại, chạy lần cuối cùng trước khi hủy đối tượng.
Trong một scope, tức là sau ký tự mở scope “{” và đóng scope “}” thì không được có tên trùng nhau.
Từ this đại diện cho chính nó. Chính cái class đang viết code.
Property là thuộc tính.
Cấu tạo bởi 1 hoặc 2 khối lệnh get , set. Khối get để lấy dữ lieu trong đối tượng ra, set là cài đặt giá trị vào dữ lieu bên trong đối tượng. Kết hợp với các từ khóa private, protected… sẽ cho nhiều property đặc tính khác nhau.
Nó giúp cho việc trao đối dữ lieu và vẫn đảm bảo tính đóng gói (ẩn dấu dữ lieu), tránh truy cập trực tiếp vào dữ lieu của đối tượng.
public class MyClass{
public object Property1{ // <- vừa lấy giá trị vừa gán giá trị được
get{
}
set{
}
}
public object Property1{ // <- chỉ lấy giá trị , không gán giá trị được,
get{
}
}
public object Property1{ // <- chỉ gán được giá trị (chắc không có loại này)
set{
}
}
public object Property1{ // <- lấy giá trị nhưng chỉ trong class mới gán giá trị được
get{
}
private set{
}
}
public object Property1{ // <- lấy giá trị nhưng chỉ class và class kế thừa mới gán giá trị được
get{
}
protected set{
}
}
.....
}