Giáo trình phân tích quy trình ứng dụng kỹ thuật nghiên cứu tạo ra những kiểu dữ liệu mới đa hình p2
Số trang: 5
Loại file: pdf
Dung lượng: 910.78 KB
Lượt xem: 6
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tạo một bản sao từ đối tượng. Bảng 5.1: Tóm tắt các phương thức của lớp Object. Ví dụ 5.4 sau minh họa việc sử dụng phương thức ToString( ) thừa kế từ lớp Object. Ví dụ 5.4: Thừa kế từ ObjectChức năng So sánh bằng nhau giữa hai đối tượng Cho phép những đối tượng cung cấp riêng những hàm băm cho sử dụng tập hợp. Cung cấp kiểu của đối tượng Cung cấp chuỗi thể hiện của đối tượng Dọn dẹp các tài nguyên...
Nội dung trích xuất từ tài liệu:
Giáo trình phân tích quy trình ứng dụng kỹ thuật nghiên cứu tạo ra những kiểu dữ liệu mới đa hình p2. Radio Check Box Command List Box Button Ngôn Ngữ Lập Trình C# Hình 5.3 Dẫn xuất từ Window Giả sử chúng ta bắt đầu tạo một loạt các lớp đối tượng theo hình vẽ 5.3 như bên trên. Sau khi làm việc với RadioButton, CheckBox, và CommandButton một thời gian ta nhận thấy chúng chia xẻ nhiều thuộc tính và hành vi đặc biệt hơn Window nhưng lại khá tổng quát cho cả ba lớp này. Như vậy ta có thể chia các thuộc tính và hành vi thành một nhóm lớp cơ sở riêng lấy tên là Button. Sau đó ta sắp xếp lại cấu trúc kế thừa như hình vẽ 5.4. Đây là ví dụ về cách tổng quát hóa được sử dụng để phát triển hướng đối tượng. Window Button List Box Check Box Command Radio Button Hình 5.4: Cây quan hệ lớp cửa sổ Trong mô hình UML trên được vẽ lại quan hệ giữa các lớp. Trong đó cả hai lớp Button và ListBox điều dẫn xuất từ lớp Window, trong đó Button có trường hợp đặc biệt là CheckBox và Command. Cuối cùng thì RadioButton được dẫn xuất từ CheckBox. Chúng ta cũng có thể nói rằng RadioButton là một CheckBox, và tiếp tục CheckBox là một Button, và cuối cùng Button là Window. 128. Kế Thừa – Đa Hình. Ngôn Ngữ Lập Trình C# Sự thiết kế trên không phải là duy nhất hay cách tốt nhất để tổ chức những đối tượng, nhưng đó là khởi điểm để hiểu về cách quan hệ giữa đối tượng với các đối tượng khác. Sự kế thừa Trong ngôn ngữ C#, quan hệ đặc biệt hóa được thực thi bằng cách sử dụng sự kế thừa. Đây không phải là cách duy nhất để thực thi đặc biệt hóa, nhưng nó là cách chung nhất và tự nhiên nhất để thực thi quan hệ này. Trong mô hình trước, ta có thể nói ListBox kế thừa hay được dẫn xuất từ Window. Window được xem như là lớp cơ sở, và ListBox được xem như là lớp dẫn xuất. Như vậy, ListBox dẫn xuất tất cả các thuộc tính và hành vi từ lớp Window và thêm những phần đặc biệt riêng để xác nhận ListBox. Thực thi kế thừa Trong ngôn ngữ C# để tạo một lớp dẫn xuất từ một lớp ta thêm dấu hai chấm vào sau tên lớp dẫn xuất và trước tên lớp cơ sở: public class ListBox : Window Đoạn lệnh trên khai báo một lớp mới tên là ListBox, lớp này được dẫn xuất từ Window. Chúng ta có thể đọc dấu hai chấm có thể được đọc như là “dẫn xuất từ”. Lớp dẫn xuất sẽ kế thừa tất cả các thành viên của lớp cơ sở, bao gồm tất cả các phương thức và biến thành viên của lớp cơ sở. Lớp dẫn xuất được tự do thực thi các phiên bản của một phương thức của lớp cơ sở. Lớp dẫn xuất cũng có thể tạo một phương thức mới bằng việc đánh dấu với từ khóa new. Ví dụ 5.1 sau minh họa việc tạo và sử dụng các lớp cơ sở và dẫn xuất. Ví dụ 5.1: Sử dụng lớp dẫn xuất. ----------------------------------------------------------------------------- using System; 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); 129 . Kế Thừa – Đa Hình . Ngôn Ngữ Lập Trình C# } // Có hai biến thành viên private do đó // hai biến này sẽ không thấy bên 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); } // biến thành viên private private string mListBoxContents; } public class Tester { public static void Main() { // tạo đối tượng cho lớp cơ sở Window w = new Window(5, 10); w. ...
Nội dung trích xuất từ tài liệu:
Giáo trình phân tích quy trình ứng dụng kỹ thuật nghiên cứu tạo ra những kiểu dữ liệu mới đa hình p2. Radio Check Box Command List Box Button Ngôn Ngữ Lập Trình C# Hình 5.3 Dẫn xuất từ Window Giả sử chúng ta bắt đầu tạo một loạt các lớp đối tượng theo hình vẽ 5.3 như bên trên. Sau khi làm việc với RadioButton, CheckBox, và CommandButton một thời gian ta nhận thấy chúng chia xẻ nhiều thuộc tính và hành vi đặc biệt hơn Window nhưng lại khá tổng quát cho cả ba lớp này. Như vậy ta có thể chia các thuộc tính và hành vi thành một nhóm lớp cơ sở riêng lấy tên là Button. Sau đó ta sắp xếp lại cấu trúc kế thừa như hình vẽ 5.4. Đây là ví dụ về cách tổng quát hóa được sử dụng để phát triển hướng đối tượng. Window Button List Box Check Box Command Radio Button Hình 5.4: Cây quan hệ lớp cửa sổ Trong mô hình UML trên được vẽ lại quan hệ giữa các lớp. Trong đó cả hai lớp Button và ListBox điều dẫn xuất từ lớp Window, trong đó Button có trường hợp đặc biệt là CheckBox và Command. Cuối cùng thì RadioButton được dẫn xuất từ CheckBox. Chúng ta cũng có thể nói rằng RadioButton là một CheckBox, và tiếp tục CheckBox là một Button, và cuối cùng Button là Window. 128. Kế Thừa – Đa Hình. Ngôn Ngữ Lập Trình C# Sự thiết kế trên không phải là duy nhất hay cách tốt nhất để tổ chức những đối tượng, nhưng đó là khởi điểm để hiểu về cách quan hệ giữa đối tượng với các đối tượng khác. Sự kế thừa Trong ngôn ngữ C#, quan hệ đặc biệt hóa được thực thi bằng cách sử dụng sự kế thừa. Đây không phải là cách duy nhất để thực thi đặc biệt hóa, nhưng nó là cách chung nhất và tự nhiên nhất để thực thi quan hệ này. Trong mô hình trước, ta có thể nói ListBox kế thừa hay được dẫn xuất từ Window. Window được xem như là lớp cơ sở, và ListBox được xem như là lớp dẫn xuất. Như vậy, ListBox dẫn xuất tất cả các thuộc tính và hành vi từ lớp Window và thêm những phần đặc biệt riêng để xác nhận ListBox. Thực thi kế thừa Trong ngôn ngữ C# để tạo một lớp dẫn xuất từ một lớp ta thêm dấu hai chấm vào sau tên lớp dẫn xuất và trước tên lớp cơ sở: public class ListBox : Window Đoạn lệnh trên khai báo một lớp mới tên là ListBox, lớp này được dẫn xuất từ Window. Chúng ta có thể đọc dấu hai chấm có thể được đọc như là “dẫn xuất từ”. Lớp dẫn xuất sẽ kế thừa tất cả các thành viên của lớp cơ sở, bao gồm tất cả các phương thức và biến thành viên của lớp cơ sở. Lớp dẫn xuất được tự do thực thi các phiên bản của một phương thức của lớp cơ sở. Lớp dẫn xuất cũng có thể tạo một phương thức mới bằng việc đánh dấu với từ khóa new. Ví dụ 5.1 sau minh họa việc tạo và sử dụng các lớp cơ sở và dẫn xuất. Ví dụ 5.1: Sử dụng lớp dẫn xuất. ----------------------------------------------------------------------------- using System; 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); 129 . Kế Thừa – Đa Hình . Ngôn Ngữ Lập Trình C# } // Có hai biến thành viên private do đó // hai biến này sẽ không thấy bên 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); } // biến thành viên private private string mListBoxContents; } public class Tester { public static void Main() { // tạo đối tượng cho lớp cơ sở Window w = new Window(5, 10); w. ...
Tìm kiếm theo từ khóa liên quan:
giáo trình đại học tài liệu mạng giáo trình cơ điện giáo trình thiết kế tài liệu kế toánGợi ý tài liệu liên quan:
-
Giáo trình phân tích một số loại nghiệp vụ mới trong kinh doanh ngân hàng quản lý ngân quỹ p5
7 trang 470 0 0 -
MARKETING VÀ QUÁ TRÌNH KIỂM TRA THỰC HIỆN MARKETING
6 trang 297 0 0 -
122 trang 213 0 0
-
QUY CHẾ THU THẬP, CẬP NHẬT SỬ DỤNG CƠ SỞ DỮ LIỆU DANH MỤC HÀNG HÓA BIỂU THUẾ
15 trang 203 1 0 -
BÀI GIẢNG KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - TS. NGUYỄN VĂN LỊCH - 5
23 trang 202 0 0 -
Giáo trình chứng khoán cổ phiếu và thị trường (Hà Hưng Quốc Ph. D.) - 4
41 trang 194 0 0 -
Giáo trình hướng dẫn phân tích các thao tác cơ bản trong computer management p6
5 trang 190 0 0 -
BÀI GIẢNG LÝ THUYẾT MẠCH THS. NGUYỄN QUỐC DINH - 1
30 trang 171 0 0 -
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - NGÂN HÀNG ĐỀ THI HẾT HỌC PHẦN HỌC PHẦN: TOÁN KINH TẾ
9 trang 168 0 0 -
Giáo trình phân tích giai đoạn tăng lãi suất và giá trị của tiền tệ theo thời gian tích lũy p10
5 trang 167 0 0