Code ví dụ mô tả lớp Listbox được dẫn xuất từ lớp Window
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace UsingInheritance { public class Window { // Hàm khởi dựng lấy hai số nguyên chỉ // đến vị trí của cửa sổ trên console public Window(int top, int left) { this.top = top; this.left = left; } // Mô phỏng vẽ cửa sổ public void DrawWindow() { Console.WriteLine("Drawing Window at {0}, {1}", top, left); } // Khai báo hai biến thành viên private // do đó hai biến này sẽ không thấy trong lớp // dẫn xuất private int top; private int left; } // ListBox dẫn xuất từ Window public class ListBox : Window { // Khởi dựng có tham số public ListBox(int top,int left, string theContents) : base(top, left) // gọi khởi dựng của lớp cơ sở { mListBoxContents = theContents; } // tạo một phiên bản mới cho phương thức DrawWindow // vì trong lớp dẫn xuất muốn thay đổi hành vi thực hiện // bên trong phương thức này public new void DrawWindow() { base.DrawWindow(); Console.WriteLine("Listbox write: {0}", mListBoxContents); } // thêm biến thành viên private private string mListBoxContents; } class Program { static void Main(string[] args) { // Tạo đối tượng cho lớp cơ sở Window w = new Window(5, 10); w.DrawWindow(); // Tạo đối tượng cho lớp dẫn xuất ListBox lb = new ListBox(20, 10, "Hello Listbox"); lb.DrawWindow(); } } }Kết quả in ra:
Không có nhận xét nào:
Đăng nhận xét
Cám ơn bạn đã quan tâm đến bài viết của mình nhé!