Những thành viên được đánh dấu public có thể được dùng bởi bất kì các phương thức của ớp bao gồm những lớp khác.. - private : Thành viên trong một lớp A được đánh dấu là private thì ch
Trang 1Bài 4 Xây dựng lớp – Đối
tượng
Mục tiêu của bài:
Nhằm trang bị cho người học:
Kiến thức và kỹ năng tạo lớp, tạo đối tượng.
Kiến thức và kỹ năng về các phương thức, các thành phần static.
Kiến thức và kỹ năng về tham số và các phương thức nạp chồng.
Kiến thức và kỹ năng về thuộc tính.
Trang 21 Lớp và đối tượng
1.1 Lớp (Class)
Lớp hay còn gọi là class là sự gói gọn các dữ liệu và các phương thức (method) họat động trên
dữ liệu đó.Trong C# , lớp được xem là kiểu dữ
liệu tham chiếu (reference) Khai báo một lớp
đủ của khai báo một lớp như sau:
Trang 31 Lớp và đối tượng
+ Thuộc tính
- public :Không hạn chế Những thành viên được đánh dấu public có thể được dùng bởi bất kì các phương thức của ớp bao gồm những lớp khác.
- private : Thành viên trong một lớp A được đánh dấu là
private thì chỉ được truy cập bởi các phương thức của lớp A.
- protected : Thành viên trong lớp A được đánh dấu là
protected thì chỉ được các phương thức bên trong lớp A và
những phương thức dẫn xuất từ lớp A truy cập.
- internal : Thành viên trong lớp A được đánh dấu là
internal thì được truy cập bởi những phương thức của bất cứ lớp nào trong cùng khối hợp ngữ với A.
- protected internal : Thành viên trong lớp A được đánh dấu là protected internal được truy cập bởi các phương thức của lớp A, các phương thức của lớp dẫn xuất của A, và bất cứ lớp nào trong cùng khối hợp ngữ của A.
+ Bổ sung truy cập : partial cho phép triển khai nhiều class
tên giống nhau trên các file khác nhau.Sau đó có thể kết hợp trong không gian tên (namespace) hoặc sử dụng Assembly.
+ Hàm khởi tạo (Contructor)
Hàm khởi tạo là một phương thức của lớp và được gọi thực hiện khi một lớp được tạo ra.Tên hàm khởi tạo trùng với tên lớp.
Trang 51 Lớp và đối tượng
1.2 Đối tượng (Obiect)
Còn đối tượng là những đại diện cho lớp, mọi đối tượng đều có chung tính chất và hành vi mà lớp định nghĩa.
Khai báo đối tượng : ClsCommon cm = new ClsCommon();
Trang 6//Tao doi tuong
}
-
-Kết quả : Gia tri tra ve :30 - -
Trang 72 Sử dụng các thành viên static
Trong Class có thể có phương thức và thuộc tính
là static hoặc không , nếu khai báo phương thức
có từ khóa static thì bạn có thể truy cập trực tiếp phương thức mà không cần khởi tạo đối tượng
chứa nó
Ví dụ sử dụng static.
Trang 9-Kết qua : Gia tri tra ve Total : 30
Gia tri tra ve Total : 70
-
Trang 10-3 Hủy đối tượng
3.1 Phương thức Finalize
(garbage collection) và do vậy không cần phải
khai báo tường minh các phương thức hủy Tuy
nhiên, khi làm việc với các đoạn mã không được quản lý thì cần phải khai báo tường minh các
phương thức hủy để giải phóng các tài
nguyên.C# cung cấp ngần định một phương thức
để thực hiện điều khiển công việc này, phương
thức đó là Finalize() hay còn gọi là bộ kết thúc Phương thức Finalize này sẽ được gọi bởi cơ chế thu dọn khi đối tượng bị hủy.
Phương thức kết thúc chỉ giải phóng các tài nguyên mà đối tượng nắm giữ, và không tham
chiếu đến các đối tượng khác Nếu với những
đoạn mã bình thường tức là chứa các tham chiếu kiểm soát được thì không cần thiết phải tạo và
thực thi phương thức Finalize() Chúng ta chỉ làm điều này khi xử lý các tài nguyên không kiểm
soát được.
Trang 113 Hủy đối tượng
Cú pháp phương thức hủy trong ngôn ngữ C#
Trang 124 Truyền tham số và nạp chồng
phương thức
4.1 Truyền tham số
4.1.1 Truyền tham trị 4.1.2 Truyền tham chiếu 2 Nạp chồng phương thức(Overloading)
Trang 134.1.2 Truyền tham chiếu
Khi môt đối tượng có kiểu giá trị được truyền giá trị vào cho một phương thức thì có một bản sao chép đối tượng đó được tạo ra bên trong phương thức Khi phương thức thực hiện xong thì đối tượng sao chép này sẽ được hủy.
Ví dụ truyền tham trị public class ThamTri
Trang 144.1.1 Truyền tham trị
Truyền tham chiếu, trong phương thức sẽ xử lý và gán các giá trị mới cho các tham chiếu này và kết quả là sau khi phương thức thực hiện xong ta dùng các tham số truyền vào như là các kết quả trả về
+ Truyền tham chiếu khởi tạo public class ThamChieuref
Trang 154.1.1 Truyền tham trị
+ Truyền tham chiếu không khởi tạo
public class ThamChieuref
Trang 164.1.1 Truyền tham trị
Dùng tham chiếu out hay ref ?
public class ThamChieu
Trang 195 Đóng gói dữ liệu với thuộc
tính
Đặc tính này cung cấp khả năng bảo vệ các trường dữ
liệu bên trong một lớp bằng việc đọc và viết chúng thông qua thuộc tính Trong ngôn ngữ khác, điều này có thể
được thực hiện thông qua việc tạo các phương thức lấy
dữ liệu (getter method) và phương thức thiết lập dữ liệu (setter method).
5.1 Thuộc tính đọc và ghi 5.2 Thuộc tính chỉ đọc
5.3 Thuộc tính chỉ ghi
Trang 20//Khai bao bien cuc bo
private string sName;
private string
sAddress;
private int iAge;
//Khai bao thuoc tinh
Name public string Name
{ get { return
sName;}
set {sName =
value;}
}
//Khai bao thuoc tinh Address public string Address {
get { return sAddress; } set { sAddress = value; } }
//Khai bao thuoc tinh Age public int Age
{ get { return iAge; } set {
if (value > 100) iAge = 100;
else if (value < 0) value = 20;
else iAge = value;
} }