Lập trình .NET và C#
Lecture 4: XÂY DỰNG LỚP - ĐỐI TƯỢNG TS Đào Nam Anh UTM, Khoa KH&CN
1
Resources
(cid:1) Các giải pháp lập trình C#, Nguyễn Ngọc Bình Phương - Thái Thanh Phong (cid:1) Allen Jones. C# Programmer's Cookbook. Microsoft Press, 2004 (cid:1)
John Connell. Coding Techniques for Microsoft Visual Basic .NET. Microsoft Press, 2002.
(cid:1) Harvey M. Deitel, Paul J. Deitel, & Tem R. Nieto. Visual Basic .NET How to
(cid:1)
(cid:1)
Program, Second Edition. Prentice Hall, 2002. Jose Mojica. C# and VB .NET Conversion Pocket Reference. O'Reilly, 2002. James Avery. Ten Must-Have Tools Every Developer Should Download Now. MSDN Magazine, 2004.
(cid:1) Karl Moore. The Ultimate VB.NET and ASP.NET Code Book. Apress, 2003 (cid:1) Matthew MacDonald. Microsoft Visual Basic .NET Programmer's Cookbook.
Microsoft Press, 2003.
(cid:1) Mark Schmidt & Simon Robinson. Microsoft Visual C# .NET 2003 Developer's
Cookbook. Sams Publishing, 2003.
(cid:1) Dương Quang Thiện. Lập trình Visual C# thế nào? Nhà xuất bản Tổng Hợp TP.
Hồ Chí Minh, 2005.
(cid:1) Nguyễn Ngọc Bình Phương & Lê Trần Nhật Quỳnh. Các giải pháp lập trình
Visual Basic .NET. Nhà xuất bản Giao thông Vận tải, 2006
(cid:1) www.msdn.microsoft.com, www.codeproject.com, www.msd2d.com,
www.developersdex.com, www.windowsforms.net, www.gotdotnet.com, www.codeguru.com, www.developerfusion.com
2
(cid:1) Định nghĩa lớp (cid:1) Tạo đối tượng (cid:1) Bộ khởi dựng (cid:1) Sử dụng các thành viên static (cid:1) Gọi phương thức static (cid:1) Hủy đối tượng (cid:1) Truyền tham số (cid:1) Nạp chồng phương thức (cid:1) Đóng gói dữ liệu với thành phần thuộc tính (cid:1) Thuộc tính chỉ đọc
3
Định nghĩa lớp
public class NewDay {
public static int Main() { //.... }
}
4
Định nghĩa lớp Thu(cid:4)c tính truy c(cid:11)p
Class NewDay {
int Month; int Year;
}
5
Định nghĩa lớp Thu(cid:4)c tính truy c(cid:11)p
6
Định nghĩa lớp Thu(cid:4)c tính truy c(cid:11)p
Class NewDay {
private int Month; public int Year;
}
(cid:1) Các thành viên của lớp được khai báo
private mặc định
7
Định nghĩa lớp Tham s(cid:16) c(cid:17)a ph(cid:18)(cid:19)ng th(cid:21)c
void Method( int param1, button param2) { //... }
8
Định nghĩa lớp
(cid:1) public class Tester (cid:1) { (cid:1) public static int Main() (cid:1) { (cid:1) //.... (cid:1) } (cid:1) }
9
Thu(cid:4)c tính truy c(cid:11)p
(cid:1) Public: 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 lớp bao gồm những lớp khác.
(cid:1) 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.
(cid:1) 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.
(cid:1) 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.
(cid:1) 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.
10
Tham s(cid:16) c(cid:17)a ph(cid:18)(cid:19)ng th(cid:21)c
(cid:1) void Method( int param1, button param2) (cid:1) { (cid:1) //... (cid:1) }
11
Tham s(cid:16) c(cid:17)a ph(cid:18)(cid:19)ng th(cid:21)c
(cid:1)
(cid:1)
(cid:1)
(cid:1)
(cid:1)
(cid:1)
(cid:1)
(cid:1)
using System; public class Class1 { public void SomeMethod(int p1, float p2) { // } }
(cid:1)
(cid:1)
(cid:1)
(cid:1)
(cid:1)
public class Tester { static void Main() { int var1 = 5; float var2 = 10.5f;
(cid:1) (cid:1) Class1 c = new Class1(); (cid:1)
(cid:1)
(cid:1)
c.SomeMethod( var1, var2 ); } }
12
Tạo đối tượng
(cid:1) ThoiGian t = new ThoiGian();
13
Tạo đối tượng
(cid:1) T(cid:22) khóa this (cid:1) Từ khóa this được dùng để tham chiếu đến
thể hiện hiện hành của một đối tượng
(cid:1) public void SetYear( int Nam) (cid:1) { (cid:1) this.Nam = Nam; (cid:1) }
14
S(cid:27) d(cid:29)ng các thành viên tĩnh (static member)
Button.Show();
15
H(cid:17)y đ(cid:16)i t(cid:18)*ng
(cid:1) Ngôn ngữ C# cung cấp cơ chế thu dọn
(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. base.Finalize();
(cid:1) Ph(cid:18)(cid:19)ng th(cid:21)c Dispose (cid:1) Ph(cid:18)(cid:19)ng th(cid:21)c Close
16
Truyền tham số
t.GetTime(theHour, theMinute, theSecond);
t.GetTime( ref theHour, ref theMinute, ref
theSecond);
17
Nạp chồng phương thức
void myMethod( int p1 ); void myMethod( int p1, int p2 ); void myMethod( int p1, string p2 );
18
Đóng gói dữ liệu với thành phần thuộc tính
private int hour; public int Hour {
get {
return hour;
} set {
hour = value;
}
}
19
Đóng gói dữ liệu với thành phần thuộc tính
(cid:1) Truy c(cid:11)p l0y d1 li2u (get accessor) get {
return hour;
}
20
Đóng gói dữ liệu với thành phần thuộc tính
(cid:1) B(cid:4) truy c(cid:11)p thi4t l(cid:11)p d1 li2u ( set
accessor)
set {
hour = value;
}
21
Question
22