Hướng Đối Tượng Trong C# part 3

Chia sẻ: Dqdsadasd Qwdasdsad | Ngày: | Loại File: PDF | Số trang:3

0
63
lượt xem
6
download

Hướng Đối Tượng Trong C# part 3

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Lớp đối tượng: Trong C#, nếu bạn không chỉ rõ rằng một lớp thì thừa kế từ một lớp khác thì trình biên dịch sẽ tự động hiểu rằng lớp của bạn thừa kế từ lớp Object.

Chủ đề:
Lưu

Nội dung Text: Hướng Đối Tượng Trong C# part 3

  1. Lớp đối tượng: Trong C#, nếu bạn không chỉ rõ rằng một lớp thì thừa kế từ một lớp khác thì trình biên dịch sẽ tự động hiểu rằng lớp của bạn thừa kế từ lớp Object. Đều này có nghĩa là ngoài những thuộc tính và phương thức mà bạn định nghĩa thì bạn có thể truy cập đến những phương thức protected và public của lớp Object. Và những phương thức này cũng có trong tất cả lớp mà bạn định nghĩa. Một số phương thức được định nghĩa trong lớp Object là: Phương thức Bổ từ truy cập Chức năng string ToString() public virtual Trả về một chuỗi mô tả của đối tượng int GetHashTable() public virtual Được sử dụng nếu thi hành từ điển bool Equals(object obj) public virtual So sánh các thực thể của đối tượng bool Equals(object objA, object public static So sánh các thực thể của đối objB) tượng bool ReferenceEquals(object public static So sánh hai sự tham khảo đến objA, object objB) một đối tượng Type GetType() public Trả về chi tiết kiểu của một đối tượng. object MemberwiseClone() protected tạo ra một bản copy của đối tượng void Finalize() protected virtual Đây là một dạng Destructor của .Net Chúng ta không thể hiểu chính xát cách sử dụng của mọi phương thức trong lớp Object vào giai đoạn này. Chúng ta sẽ được xem xét chúng lại trong chương 5. Phương thức Tostring(): Tostring() là một cách tiện lợi để lấy một chuỗi mô tả đối tượng. Ví dụ: int i = -50; string str = i.ToString(); // returns "-50"
  2. Thêm một ví dụ khác : enum Colors {Red, Orange, Yellow}; // later on in code... Colors favoriteColor = Colors.Orange; string str = favoriteColor.ToString(); // returns "Orange" Object.Tostring() được khai báo như virtual . Trong C#, các kiểu dữ liệu có sẳn đã được override cho chúng ta để trả chuỗi đúng với sự mô tả của các kiểu đó. Nếu bạn không override phương thức ToString() trong lớp bạn định nghĩa, thì lớp bạn sẽ thừa kế sự thực thi phương thức ToString() của system.Object và xuất ra tên lớp của bạn. Nếu bạn muốn phương thức ToString() trả về một chuỗi chứa nội dung thông tin về giá trị của đối tượng của lớp bạn tạo ra thì bạn phải override phương thức ToString(). Xem ví dụ sau: using System; namespace Wrox.ProCSharp.OOCSharp { class MainEntryPoint { static void Main(string[] args) { Money cash1 = new Money(); cash1.Amount = 40M; Console.WriteLine("cash1.ToString() returns: " + cash1.ToString()); cash1 = new BetterMoney(); cash1.Amount = 40M; Console.WriteLine("cash1.ToString() returns: " + cash1.ToString()); Console.ReadLine(); } } class Money { private decimal amount; public decimal Amount { get { return amount; }
  3. set { amount = value; } } } class BetterMoney : Money { public override string ToString() { return "$" + Amount.ToString(); } } } Trong phương thức main() : chúng ta khởi tạo đầu tiên là đối tượng Money(), sau đó là đối tượng BetterMoney(). Trong cả hai trường hợp ta đều gọi ToString() nhưng với đối tượng Money() thì sẽ thực thi phương thức của System.Object còn với đối tượng BetterMoney() thì sẽ thực thi phương thức mà chúng ta Override. Kết quả sau khi chạy đoạn mã trên là: cash1.ToString() returns: Wrox.ProCSharp.OOCSharp.Money cash1.ToString() returns: $40 Thực thi đoạn mã trên

CÓ THỂ BẠN MUỐN DOWNLOAD

Đồng bộ tài khoản