Tài liệu Bài 2: Hướng đối tượng trongC# doc

16 322 0
Tài liệu Bài 2: Hướng đối tượng trongC# doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 2: i 2: Hư Hư ớ ớ ng ng đ đ ố ố i i tư tư ợ ợ ng ng trong trong C# C# Đo Đo à à n Quang Minh n Quang Minh minhdqtt@gmail.com minhdqtt@gmail.com http http ://www.VTPortal.net ://www.VTPortal.net Last update: Last update: 30. December 2006 30. December 2006 Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 2 2 M M ụ ụ c l c l ụ ụ c c K K ế ế th th ừ ừ a a , , h h à à m m ả ả o o Qu Qu á á t t ả ả i i h h à à m m H H à à m m t t ạ ạ o o , , h h à à m m h h ủ ủ y y C C ấ ấ u u tr tr ú ú c c Qu Qu á á t t ả ả i i to to á á n n t t ử ử Ch Ch ỉ ỉ s s ố ố Giao Giao ti ti ế ế p p Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 3 3 L L ớ ớ p p v v à à k k ế ế th th ừ ừ a a (class & inherit) (class & inherit) Đ Đ ị ị nh ngh nh ngh ĩ ĩ a m a m ộ ộ t l t l ớ ớ p: t p: t ừ ừ kh kh ó ó a class a class K K ế ế th th ừ ừ a đơn gi a đơn gi ả ả n: c n: c ú ú ph ph á á p. p. – – Không h Không h ỗ ỗ tr tr ợ ợ đa k đa k ế ế th th ừ ừ a a – – Không h Không h ỗ ỗ tr tr ợ ợ ph ph ạ ạ m k m k ế ế th th ừ ừ a (gi a (gi ả ả m ph m ph ứ ứ c t c t ạ ạ p) p) – – B B ắ ắ t bu t bu ộ ộ c ph c ph ả ả i k i k ế ế th th ừ ừ a: l a: l ớ ớ p System.Object p System.Object Qu Qu á á t t ả ả i h i h à à m: c m: c ú ú ph ph á á p p – – Không h Không h ỗ ỗ tr tr ợ ợ tham s tham s ố ố m m ặ ặ c đ c đ ị ị nh nh – – H H à à m m ả ả o: t o: t ừ ừ kh kh ó ó a virtual v a virtual v à à override override H H à à m b m b ị ị che che – – Lý do ra đ Lý do ra đ ờ ờ i: c i: c ù ù ng tên h ng tên h à à m nhưng kh m nhưng kh á á c ý ngh c ý ngh ĩ ĩ a a – – T T ừ ừ kh kh ó ó a new a new Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 4 4 L L ớ ớ p p v v à à k k ế ế th th ừ ừ a a (class & inherit) (class & inherit) H H à à m m tr tr ừ ừ u u tư tư ợ ợ ng ng , , l l ớ ớ p p tr tr ừ ừ u u tư tư ợ ợ ng ng – – T T ừ ừ kh kh ó ó a a abstract abstract – – Kh Kh á á c c bi bi ệ ệ t t v v ớ ớ i i C++ C++ L L ớ ớ p p đư đư ợ ợ c c đ đ ó ó ng ng k k í í n n – – Kh Kh á á i i ni ni ệ ệ m m – – T T ừ ừ kh kh ó ó a a sealed sealed Ph Ph ạ ạ m m vi vi truy truy c c ậ ậ p p – – public, protected, private public, protected, private – – internal, protected internal internal, protected internal L L ớ ớ p p c c ụ ụ c c b b ộ ộ – – L L à à l l ớ ớ p p m m à à mã mã l l ệ ệ nh nh c c ủ ủ a a n n ó ó đư đư ợ ợ c c đ đ ặ ặ t t ở ở nhi nhi ề ề u u nơi nơi . . – – T T ừ ừ kh kh ó ó a a partial partial Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 5 5 Thu Thu ộ ộ c c t t í í nh nh (property) (property) Thu Thu ộ ộ c c t t í í nh nh – – L L à à m m ộ ộ t t phương phương th th ứ ứ c c ho ho ặ ặ c c m m ộ ộ t t c c ặ ặ p p phương phương th th ứ ứ c c , , m m à à th th ể ể hi hi ệ ệ n n c c ủ ủ a a n n ó ó như như l l à à m m ộ ộ t t trư trư ờ ờ ng ng d d ữ ữ li li ệ ệ u u – – C C ặ ặ p p t t ừ ừ kh kh ó ó a a get / set get / set – – Thu Thu ộ ộ c c t t í í nh nh ch ch ỉ ỉ đ đ ọ ọ c c , , ch ch ỉ ỉ ghi ghi – – Ph Ph ạ ạ m m vi vi truy truy c c ậ ậ p p : : thu thu ộ ộ c c t t í í nh nh get get v v à à set set luôn luôn c c ó ó c c ù ù ng ng ph ph ạ ạ m m vi vi truy truy c c ậ ậ p p . . – – Thu Thu ộ ộ c c t t í í nh nh tr tr ừ ừ u u tư tư ợ ợ ng ng : : ch ch ỉ ỉ khai khai b b á á o o t t ừ ừ kho kho á á m m à à không không c c ó ó thân thân h h à à m m , do , do đ đ ó ó l l ớ ớ p p k k ế ế th th ừ ừ a a b b ắ ắ t t bu bu ộ ộ c c ph ph ả ả i i ghi ghi đ đ è è – – Thu Thu ộ ộ c c t t í í nh nh ả ả o o : : cho cho ph ph é é p p l l ớ ớ p p k k ế ế th th ừ ừ a a ghi ghi đ đ è è . . Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 6 6 L L ớ ớ p p Object Object L L à à l l ớ ớ p p cơ cơ b b ả ả n n c c ủ ủ a a .NET, .NET, m m ặ ặ c c đ đ ị ị nh nh m m ọ ọ i i l l ớ ớ p p n n ế ế u u không không n n ó ó i i g g ì ì th th ì ì hi hi ể ể u u l l à à k k ế ế th th ừ ừ a a t t ừ ừ Object Object C C á á c c phương phương th th ứ ứ c c c c ủ ủ a a Object Object – – public public virutal virutal string string ToString ToString () () – – public public virutal virutal int int GetHashTable GetHashTable () () – – public public virutal virutal bool bool Equals(object Equals(object obj obj ) ) – – public static public static bool bool Equals(object Equals(object objA objA , object , object objB objB ) ) – – public static public static bool bool ReferenceEquals(object ReferenceEquals(object objA objA , object , object objB objB ) ) – – public Type public Type GetType GetType () () – – protected object protected object MemberwiseClone MemberwiseClone () () – – protected virtual void Finalize() protected virtual void Finalize() Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 7 7 Giao Giao ti ti ế ế p p (interface) (interface) interface: interface: – – M M ộ ộ t t interface interface đ đ ị ị nh nh ngh ngh ĩ ĩ a a như như m m ộ ộ t t “ “ h h ợ ợ p p đ đ ồ ồ ng ng ” ” , do , do đ đ ó ó , , n n ế ế u u m m ộ ộ t t class class ho ho ặ ặ c c m m ộ ộ t t struct struct c c à à i i đ đ ặ ặ t t m m ộ ộ t t interface interface th th ì ì ph ph ả ả i i c c à à i i đ đ ặ ặ t t t t ấ ấ t t c c ả ả c c á á c c t t í í nh nh năng năng đư đư ợ ợ c c khai khai b b á á o o trong trong interface interface đ đ ó ó . . – – C C ó ó th th ể ể hi hi ể ể u u interface interface như như l l à à m m ộ ộ t t l l ớ ớ p p tr tr ừ ừ u u tư tư ợ ợ ng ng ho ho à à n n to to à à n n ( ( t t ấ ấ t t c c ả ả c c á á c c phương phương th th ứ ứ c c đ đ ề ề u u tr tr ừ ừ u u tư tư ợ ợ ng ng ). ). Khi Khi m m ộ ộ t t class class c c à à i i đ đ ặ ặ t t m m ộ ộ t t interface, interface, th th ì ì coi coi như như n n ó ó đư đư ợ ợ c c k k ế ế th th ừ ừ a a t t ừ ừ l l ớ ớ p p tr tr ừ ừ u u tư tư ợ ợ ng ng k k ể ể trên trên Khai Khai b b á á o o : : – – [ [ attributes attributes ] [ ] [ modifiers modifiers ] ] interface interface identifier identifier [ [ : : base base - - list list ] ] { { interface interface - - body body } } [ [ ; ; ] ] Hư Hư ớ ớ ng đ ng đ ố ố i tư i tư ợ ợ ng trong C# ng trong C# - - Editor Editor : : Đo Đo à à n Quang Minh n Quang Minh 8 8 Giao Giao ti ti ế ế p p (interface) (interface) Đ Đ ặ ặ c c t t í í nh nh : : – – M M ộ ộ t t interface interface c c ó ó th th ể ể l l à à th th à à nh nh viên viên c c ủ ủ a a m m ộ ộ t t namespace namespace ho ho ặ ặ c c m m ộ ộ t t class. class. – – Interface Interface c c ó ó th th ể ể ch ch ứ ứ a a c c á á c c th th à à nh nh viên viên sau sau : : Methods Methods Properties Properties Indexers Indexers Events Events – – M M ộ ộ t t interface interface c c ó ó th th ể ể k k ế ế th th ừ ừ a a t t ừ ừ m m ộ ộ t t hay hay nhi nhi ề ề u u interface interface kh kh á á c c T T ì ì nh nh hu hu ố ố ng ng th th ự ự c c t t ế ế : : – – Gi Gi ả ả thi thi ế ế t t ch ch ú ú ng ng ta ta c c ầ ầ n n cung cung c c ấ ấ p p ch ch ứ ứ c c năng năng T T ì ì m m ki ki ế ế m m cho cho hai hai lo lo ạ ạ i i đ đ ố ố i i tư tư ợ ợ ng ng l l à à văn văn b b ả ả n n v v à à h h ì ì nh nh ả ả nh nh . . Rõ Rõ r r à à ng ng hai hai lo lo ạ ạ i i đ đ ố ố i i tư tư ợ ợ ng ng n n à à y y kh kh á á c c nhau nhau , , nên nên không không th th ể ể c c ó ó chung chung phương phương th th ứ ứ c c T T ì ì m m ki ki ế ế m m . . – – S S ẽ ẽ đơn đơn gi gi ả ả n n hơn hơn n n ế ế u u c c ả ả hai hai đ đ ố ố i i tư tư ợ ợ ng ng n n à à y y đ đ ề ề u u k k ế ế th th ừ ừ a a interface interface ISearch ISearch : : ch ch ú ú ng ng ta ta c c ó ó th th ể ể é é p p ki ki ể ể u u đ đ ố ố i i tư tư ợ ợ ng ng v v ề ề interface, interface, vi vi ệ ệ c c g g ọ ọ i i h h à à m m Search() Search() s s ẽ ẽ không không ph ph ụ ụ thu thu ộ ộ c c v v à à o o đ đ ố ố i i tư tư ợ ợ ng ng ban ban đ đ ầ ầ u u . . 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. [...]... đố tượ Editor: Đoàn Quang Minh Đoà 15 Tài liệu tham khảo Professional C#, Second Edition http://www.asp.net http://www.microsoft.com/net/default.mspx http://www.codeproject.com Địa chỉ download tài liệu http://www.thanglong.edu.vn/giang-day/tab.aspx Diễn đàn C# & NET http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc-tap-nghien-cuu/dot-net/tab.aspx Hướng đối tượng trong C# - Editor: Hướ đố tượ Editor:... chỉ mục Hướng đối tượng trong C# - Editor: Hướ đố tượ Editor: Đoàn Quang Minh Đoà 14 Chỉ mục (Indexers) Ví dụ: – Giả sử có lớp Matrix (ma trận) – Khi dùng 2 chỉ số truy cập, ví dụ, a[i][j] sẽ nhận được một thành phần số Nếu dùng 1 chỉ số truy cập, ví dụ, a[i] sẽ nhận được một vector struct Matrix { public double[][] x; public double this [uint i, uint j]; public Vector this [uint i]; } Hướng đối tượng. .. như được kế thừa từ lớp Object Khởi tạo struct – Không thể khởi tạo các biến thành viên khi khai báo – Có thể có hàm tạo Hướng đối tượng trong C# - Editor: Hướ đố tượ Editor: Đoàn Quang Minh Đoà 12 Quá tải toán tử (Operator Overloading) Định nghĩa: như C++ Cú pháp Ví dụ Hướng đối tượng trong C# - Editor: Hướ đố tượ Editor: Đoàn Quang Minh Đoà 13 Chỉ mục (Indexers) Mô tả: – Toán tử [ ] trong C# không... rác – Nếu có định nghĩa, hàm hủy sẽ được gọi bởi bộ thu gom rác, nhưng không xác định được thời điểm gọi – Có thể sử dụng giao tiếp IDisposable – Hay dùng khi giải phóng các tài nguyên khác bộ nhớ (kết nối CSDL, tập tin,…) Hướng đối tượng trong C# - Editor: Hướ đố tượ Editor: Đoàn Quang Minh Đoà 11 Cấu trúc (Structs) Cấu trúc (struct) – Chỉ chứa các biến, không chứa phương thức – Khai báo và sử dụng cấu . Minh n Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 2: i 2: Hư Hư ớ ớ ng ng đ đ ố ố i i tư tư ợ ợ ng ng trong trong C# C# Đo Đo à

Ngày đăng: 13/12/2013, 09:16

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan