Tài liệu tham khảo về lập trình hướng đối tượng với .NET & C#.Chương 3 Lớp và đối tượng - Pdf 21

1
CHƯƠNG 3
2
Mục tiêu
 Khai báo được lớp, đối tượng và sử dụng.
 Biết cách vận dụng các từ khoá truy cập.
 Xây dựng các phương thiết lập, sao chép.
 Hàm hủy bỏ,cơ chế thu gom rác
 Sử dụng các thành viên tĩnh.
 Nạp chồng phương thức.
3
Nội dung
 Định nghĩa lớp
 Khai báo đối tượng và sử dụng
 Phương thức thiết lập, sao chép
 Phương thức hủy
 Nạp chồng phương thức
 Thành phần tĩnh
 Nạp chồng toán tử
4
3.1. Định nghĩa lớp
[phạm vi truy nhập:]: Là khả năng truy nhập thành
phần dữ liệu (public, private, internal, protected,
internal protected).
[thuộc tính]: có thể là static
[phạm vi truy nhập][Thuộc tính] class <tên
lớp>
{
// Khai báo các thuộc tính của lớp
// Khai báo các phương thức của lớp
}

// khai báo các phương thức class2
}
}
8
3.2. Khai báo đối tượng và sử dụng
 Đối tượng là biến kiểu tham chiếu, không phải tham
trị.
• Biến đối tượng không chứa giá trị của đối tượng
• Biến chứa địa chỉ của đối tượng được tạo trong
bộ nhớ Heap
<tên lớp> <tên đối tượng> = new <tên lớp> ([các
giá trị khởi tạo nếu có])
 Sử dụng từ khóa “new”
9
Ví dụ
10
Truy nhập phương thức
<tên đối tượng>. <tên phương thức> ([danh
sách các đối số nếu có])
11
3.3. Phương thức thiết lập, sao chép
 Khởi tạo một đối tượng -> gọi phương thức thiết lập
(constructor)
• Phương thức thiết lập mặc định: sẽ được CLR cung
cấp nếu người lập trình không định nghĩa
• Phương thức thiết lập do người lập trình định nghĩa
 Phương thức thiết lập có chức năng:
• Tạo một đối tượng của lớp và chuyển nó sang trạng
thái xác định (valid state)
• Phương thức thiết lập thường được dùng để khởi gán

• Dùng interface ICloneable của .NET
• Tự xây dựng phương thức thiết lập sao chép
(hand-copying copy constructor)
16
Dùng interface ICloneable của .NET
 Class hỗ trợ hàm tạo sao chép phải
implement interface ICloneable
public Object Clone()
{
return MemberwiseClone(); // shallow copy
}
17
Ví dụ
18
Tạo phương thức thiết lập sao chép (1)
 Tên hàm trùng với tên lớp
• Khai báo
public <tên lớp> (< tên lớp > <đối tượng1>)
{
gt1 = <đối tượng1>.gt1;
gt2 = <đối tượng1>. gt2;
}
• Sử dụng
<Tên_lớp> <đối tượng2> = new
<Tên_lớp> (đối tượng1);
19
Ví dụ
20
Tạo phương thức thiết lập sao chép (2)
 Tên hàm trùng với tên lớp

public void Foo(OtherClass otherObject)
{
otherObject.Bar(this);
}
}
24
Từ khóa This (3)
• Sử dụng cùng với indexer (Tìm hiểu thêm)
• Gọi một hàm tạo từ hàm tạo khác của lớp
class myClass
{
public myClass(int i) { // }
public myClass( ) : this(42) { // }
}
25
Từ khóa This (4)
• Gọi tường minh các phương thức, thuộc tính của
lớp
public void MyMethod(int y)
{

this.Draw( );
}


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status