Danh mục

C# và các lớp cơ sở System.object

Số trang: 9      Loại file: pdf      Dung lượng: 115.54 KB      Lượt xem: 34      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Trong chương 3 , chúng ta đã xem xét về system.object. chúng ta biết rằng đó là lớp cơ sở chung mà mọi đối tượng khác được thừa kế và ta cũng xem xét về các phương thức thành viên chính của nó.tuy nhiên,trong chương trước ta chưa tìm hiểu kỉ về khả năng của tất cả các phương thức,(chúng ta chỉ mới tìm hiểu chi tiết những phương thức tostring() và finalize() ).trong chương này ta sẽ tìm hiểu các phương thức còn lại của system.object . ...
Nội dung trích xuất từ tài liệu:
C# và các lớp cơ sở System.object C# và các lớp cơ sở System.objectTrong chương 3 , chúng ta đã xem xét về system.object. chúng ta biết rằngđó là lớp cơ sở chung mà mọi đối tượng khác được thừa kế và ta cũng xemxét về các phương thức thành viên chính của nó.tuy nhiên,trong chươngtrước ta chưa tìm hiểu kỉ về khả năng của tất cả các phương thức,(chúng tachỉ mới tìm hiểu chi tiết những phương thức tostring() và finalize() ).trongchương này ta sẽ tìm hiểu các phương thức còn lại của system.object .đầutiên ta sẽ tìm hiểu tóm tắt của từng phương thức : Truy xuất Mục đíchPhương thức Trả về 1 chuỗi đại diện cho đối publicstring ToString() tượng virtual trả về mã băm của đối tượng đượcint GetHashCode() public thiết kế cho phép ta tìm kiếm 1 virtual cách hiệu quả các thể hiện của đối tượng trong từ điền so sánh đối tượng này với 1 đối publicbool Equals(object obj) tượng khác virtualbool Equals(object objA, public so sánh 2 đối tượngobject objB) static so sánh các tham chiếu đối tượngbool ReferenceEquals(object public để xem chúng có chỉ đến cùng đốiobjA, object objB) static tượng trả về 1 đối tượng dẫn xuất từ System.Type mà đưa ra chi tiếtType GetType() public kiểu dữ liệu Makes a shallow copy of the object (in other words, copies data in theobject MemberwiseClone() protected object but not other objects any fields refer to) protected Hàm hủy ( Destructor)void Finalize() virtual4 trong những phương thức này khai báo là ảo ( virtual) vì vậy ta có thểoverload chúng .Các thành viên của system.object:ToString() - đây là cách trình bày chuỗi dễ dàng nhanh chóng và cơ bản.được dùng trong tình huống khi bạn muốn phác hoạ nhanh nội dung của mộtđối tượng,chẳng hạn để vá lỗi .nếu bạn muốn trình bày chuỗi phức tạp hơnbạn có thể dùng interface IFormatable.GetHashcode() - hữu ích nếu đối tượng được đặt trong cấu trúc dữ liệu map( hay còn gọi là bảng băm hoặc từ điển).Nó được dùng bởi những lớp màthao tác những cấu trúc này để quyết định nơi đặt đối tượng trong cấu trúc.nếu bạn định lớp của bạn được sử dụng như là khoá trong từ điển, thì bạn sẽcần overload GetHashcode().Equals() ( cả 2 phiên bản) và ReferenceEquals()- có những khác biệt tinhvi giữa 3 kiểu phương thức này, đi cùng với toán tử so sánh ,==.ta sẽ xemxét sau.Finalize() - đây là 1 destructor và được gọi khi một đối tượng tham chiếu làrác được thu nhặt để dọn dẹp tài nguyên. thực sự thì finalize() không làm gìcả , bị bỏ qua bởi bộ gom rác, nhưng điều này không đúng với các overload .ta nên overload chỉ khi cần thiết.overload Finalize() trong C# không đượclàm tường minh ( điều này hay gây ra lỗi biên dịch) bằng cách cung cấpdestructor. destructor đưọc chuyển bởi trình biên dịch thành phươngg thứcFinalize().GetType() - phương thức này trả về thể hiện của một lớp được dẫn xuất từSystem.type. đối tượng này có thể cung cấp một số thông tin mở rộng về lớpmà đối tượng là thành viên, bao gồm kiểu cơ sở, phương thức , thuộc tính ...MemberWiseClone() - đây chỉ là thành viên của System.Object mà takhông đi sâu trong cuốn sách này. nó đơn giản tạo một bản sao của đốitượng và trả về 1 tham khảo đến bản sao.lưu ý rằng bản sao được tạo như làbản sao bóng- nghĩa là nó sao chép tất cả các kiểu giá trị trong lớp.nếu lớpchứa đựng những tham khảo kèm theo thì chỉ có tham khảo được sao chép,không phải là đối tượng.So sánh các đối tượng tham chiếu tương đươngTa thấy rằng trong C# có đến 4 kiểu so sánh tương đương ( gồm 3 phươngthức so sánh và 1 toán tử = ). ta sẽ tìm hiểu sự khác nhau giữa các loại sosánh này .ReferenceEquals()Tên của phương thức chính là ý nghĩa của nó . nó kiểm tra 2 tham chiếu liệucó quy vào cùng một thể hiện của một lớp:rằng 2 tham chiếu này ch ...

Tài liệu được xem nhiều: