Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 9 9 Giao Giao ti ti ế ế p p (interface) (interface) interface interface IPoint IPoint { { int int x { get; set; } x { get; set; } int int y { get; set; } y { get; set; } } } class class MyPoint MyPoint : : IPoint IPoint { { private private int int myX myX ; ; private private int int myY myY ; ; public public MyPoint(int MyPoint(int x, x, int int y) { y) { myX myX = x; = x; myY myY = y; } = y; } public public int int x { get { return x { get { return myX myX ; } set { ; } set { myX myX = value; } } = value; } } public public int int y { get { return y { get { return myY myY ; } set { ; } set { myY myY = value; } } = value; } } } } Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 10 10 H H à à m m t t ạ ạ o o v v à à h h à à m m h h ủ ủ y y (Construction and Disposal) (Construction and Disposal) H H à à m m t t ạ ạ o o (Construction) (Construction) – – Đ Đ ị ị nh nh ngh ngh ĩ ĩ a a v v à à c c ú ú ph ph á á p p : : như như C++ C++ – – Kh Kh á á c c bi bi ệ ệ t t v v ớ ớ i i C++: C++: không không nên nên kh kh ở ở i i t t ạ ạ o o bi bi ế ế n n th th à à nh nh viên viên trong trong h h à à m m t t ạ ạ o o . . – – Ch Ch ú ú ý ý v v ớ ớ i i h h à à m m t t ạ ạ o o c c ó ó tham tham s s ố ố : : hãy hãy luôn luôn luôn luôn c c ó ó h h à à m m t t ạ ạ o o m m ặ ặ c c đ đ ị ị nh nh đ đ ể ể tr tr á á nh nh l l ỗ ỗ i i biên biên d d ị ị ch ch . . H H à à m m t t ạ ạ o o t t ĩ ĩ nh nh – – L L à à h h à à m m t t ạ ạ o o , , đ đ ồ ồ ng ng th th ờ ờ i i l l à à h h à à m m t t ĩ ĩ nh nh . . – – Đư Đư ợ ợ c c g g ọ ọ i i khi khi s s ử ử d d ụ ụ ng ng phương phương th th ứ ứ c c t t ĩ ĩ nh nh c c ủ ủ a a đ đ ố ố i i tư tư ợ ợ ng ng . . G G ọ ọ i i h h à à m m t t ạ ạ o o khi khi k k ế ế th th ừ ừ a a – – Thông Thông qua qua t t ừ ừ kho kho á á base. base. – – C C ó ó th th ể ể truy truy ề ề n n tham tham s s ố ố cho cho l l ớ ớ p p base. base. Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 11 11 H H à à m m t t ạ ạ o o v v à à h h à à m m h h ủ ủ y y (Construction and Disposal) (Construction and Disposal) H H à à m m h h ủ ủ y y (Disposal) (Disposal) – – Không Không quan quan tr tr ọ ọ ng ng như như C++, do C++, do b b ộ ộ nh nh ớ ớ t t ự ự đ đ ộ ộ ng ng đư đư ợ ợ c c qu qu ả ả n n lý lý b b ở ở i i b b ộ ộ thu thu gom gom r r á á c c . . – – N N ế ế u u c c ó ó đ đ ị ị nh nh ngh ngh ĩ ĩ a a , , h h à à m m h h ủ ủ y y s s ẽ ẽ đư đư ợ ợ c c g g ọ ọ i i b b ở ở i i b b ộ ộ thu thu gom gom r r á á c c , , nhưng nhưng không không x x á á c c đ đ ị ị nh nh đư đư ợ ợ c c th th ờ ờ i i đi đi ể ể m m g g ọ ọ i i . . – – C C ó ó th th ể ể s s ử ử d d ụ ụ ng ng giao giao ti ti ế ế p p IDisposable IDisposable . . – – Hay Hay d d ù ù ng ng khi khi gi gi ả ả i i ph ph ó ó ng ng c c á á c c t t à à i i nguyên nguyên kh kh á á c c b b ộ ộ nh nh ớ ớ ( ( k k ế ế t t n n ố ố i i CSDL, CSDL, t t ậ ậ p p tin, tin, … … ) ) Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 12 12 C C ấ ấ u u tr tr ú ú c c ( ( Structs Structs ) ) C C ấ ấ u u tr tr ú ú c c ( ( struct struct ) ) – – Ch Ch ỉ ỉ ch ch ứ ứ a a c c á á c c bi bi ế ế n n , , không không ch ch ứ ứ a a phương phương th th ứ ứ c c – – Khai Khai b b á á o o v v à à s s ử ử d d ụ ụ ng ng c c ấ ấ u u tr tr ú ú c c : : c c ó ó th th ể ể d d ù ù ng ng ho ho ặ ặ c c không không d d ù ù ng ng to to á á n n t t ử ử new new struct struct v v à à k k ế ế th th ừ ừ a a – – struct struct không không th th ể ể k k ế ế th th ừ ừ a a đư đư ợ ợ c c . . – – Ngo Ngo ạ ạ i i l l ệ ệ : : m m ộ ộ t t struct struct coi coi như như đư đư ợ ợ c c k k ế ế th th ừ ừ a a t t ừ ừ l l ớ ớ p p Object Object Kh Kh ở ở i i t t ạ ạ o o struct struct – – Không Không th th ể ể kh kh ở ở i i t t ạ ạ o o c c á á c c bi bi ế ế n n th th à à nh nh viên viên khi khi khai khai b b á á o o – – C C ó ó th th ể ể c c ó ó h h à à m m t t ạ ạ o o Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 13 13 Qu Qu á á t t ả ả i i to to á á n n t t ử ử (Operator Overloading) (Operator Overloading) Đ Đ ị ị nh nh ngh ngh ĩ ĩ a a : : như như C++ C++ C C ú ú ph ph á á p p V V í í d d ụ ụ . trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 12 12 C C ấ ấ u u tr tr ú ú c c ( ( Structs Structs ) ) C C ấ ấ u u tr tr ú ú c c ( ( struct struct ) ) – – Ch Ch ỉ ỉ ch ch ứ ứ a a c c á á c c bi bi ế ế n n ,. Minh 12 12 C C ấ ấ u u tr tr ú ú c c ( ( Structs Structs ) ) C C ấ ấ u u tr tr ú ú c c ( ( struct struct ) ) – – Ch Ch ỉ ỉ ch ch ứ ứ a a c c á á c c bi bi ế ế n n , , không không ch ch ứ ứ a a phương phương th th ứ ứ c c – – Khai Khai b b á á o o v v à à s s ử ử d d ụ ụ ng ng c c ấ ấ u u tr tr ú ú c c : : c c ó ó th th ể ể d d ù ù ng ng ho ho ặ ặ c c không không d d ù ù ng ng to to á á n n t t ử ử new new struct struct v v à à k k ế ế th th ừ ừ a a – – struct struct không không th th ể ể k k ế ế th th ừ ừ a a đư đư ợ ợ c c . . – – Ngo Ngo ạ ạ i i l l ệ ệ :. Disposal) H H à à m m t t ạ ạ o o (Construction) (Construction) – – Đ Đ ị ị nh nh ngh ngh ĩ ĩ a a v v à à c c ú ú ph ph á á p p : : như như C+ + C+ + – – Kh Kh á á c c bi bi ệ ệ t t v v ớ ớ i i C+ +: C+ +: không không nên nên kh kh ở ở i i t t ạ ạ o o bi bi ế ế n n th th à à nh nh viên viên trong trong h h à à m m t t ạ ạ o o . . – – Ch Ch ú ú ý