1. Trang chủ
  2. » Công Nghệ Thông Tin

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

16 322 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 196,25 KB

Nội dung

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

TÀI LIỆU LIÊN QUAN

w