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é!