Danh mục

Kế Thừa-Đa Hình phần 1

Số trang: 12      Loại file: pdf      Dung lượng: 255.26 KB      Lượt xem: 3      Lượt tải: 0    
Hoai.2512

Hỗ trợ phí lưu trữ khi tải xuống: 3,000 VND Tải xuống file đầy đủ (12 trang) 0

Báo xấu

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

Thông tin tài liệu:

Đặc biệt hóa và tổng quát hóa Sự kế thừa · · · · Thực thi kế thừa Gọi phương thức khởi dựng của lớp cơ sở Gọi phương thức của lớp cơ sở Điều khiển truy xuất
Nội dung trích xuất từ tài liệu:
Kế Thừa-Đa Hình phần 1KẾ THỪA – ĐA HÌNH · Đặc biệt hóa và tổng quát hóa · Sự kế thừa · Thực thi kế thừa · Gọi phương thức khởi dựng của lớp cơ sở · Gọi phương thức của lớp cơ sở · Điều khiển truy xuất · Đa hình · Kiểu đa hình · Phương thức đa hình · Từ khóa new và override · Lớp trừu tượng · Gốc của tất cả các lớp - lớp Object · Boxing và Unboxing dữ liệu · Boxing thực hiện ngầm định · Unboxing phải thực hiện tường minh · Các lớp lồng nhau · Câu hỏi & bài tập Trong chương trước đã trình bày cách tạo ra những kiểu dữ liệu mới bằngviệc xây dựng các lớp đối tượng. Tiếp theo chương này sẽ đưa chúng ta đi sâu vàomối quan hệ giữa những đối tượng trong thế giới thực và cách mô hình hóa nhữngquan hệ trong xây dựng chương trình. Chương 5 cũng giới thiệu khái niệm đặc biệthóa (specialization) được cài đặt trong ngôn ngữ C# thông qua sự kế thừa(inheritance). Khái niệm đa hình (polymorphism) cũng được trình bày trong chương 5, đây làkhái niệm quan trọng trong lập trình hướng đối tượng. Khái niệm này cho phép các thểhiện của lớp có liên hệ với nhau có thể được xử lý theo một cách tổng quát. Cuối cùng là phần trình bày về các lớp cô lập (sealed class) không được đặt biệthóa, hay các lớp trừu tượng sử dụng trong đặc biệt hóa. Lớp đối tượng Object là gốc củatất cả các lớp cũng được thảo luận ở phần cuối chương.Đặc biệt hóa và tổng quát hóa Lớp và các thể hiện của lớp tức đối tượng tuy không tồn tại trong cùng một khối,nhưng chúng tồn tại trong một mạng lưới sự phụ thuộc và quan hệ lẫn nhau. Ví dụ nhưcon người và xã hội động vật cùng sống trong một thế giới có quan hệ loài với nhau. Quan hệ là một (is-a) là một sự đặc biệt hóa. Khi chúng ta nói rằng mèo là một loại động vật có vú, có nghĩa là chúng ta đã nói rằng mèo là một trường hợp đặc biệt của loại động vật có vú. Nó có tất cả các đặc tính của bất cứ động vật có vú nào (như sinh ra con, có sữa mẹ vàcó lông...). Tuy nhiên, mèo có thêm các đặc tính riêng được xác định trong họ nhàmèo mà các họ động vật có vú khác không có được. Chó cũng là loại động vật có vú,chó cũng có tất cả các thuộc tính của động vật có vú, và riêng nó còn có thêm cácthuộc tính riêng xác định họ loài chó mà khác với các thuộc tính đặc biệt của loài khácví dụ như mèo chẳng hạn. Quan hệ đặc biệt hóa và tổng quát hóa là hai mối quan hệ đối ngẫu và phân cấpvới nhau. Chúng có quan hệ đối ngẫu vì đặc biệt được xem như là mặt ngược lại củatổng quát. Do đó, loài chó và mèo là trường hợp đặc biệt của động vật có vú.Ngược lại động vật có vú là trường hợp tổng quát từ các loài chó và mèo. Mối quan hệ là phân cấp bởi vì chúng ta tạo ra một cây quan hệ, trong đó cáctrường hợp đặc biệt là những nhánh của trường hợp tổng quát. Trong cây phân cấpnày nếu di chuyển lên trên cùng ta sẽ được trường hợp tổng quát hóa, và ngược lạinếu di chuyển xuống ngược nhánh thì ta được trường hợp đặc biệt hóa. Ta có sơ đồphân cấp minh họa cho loài chó, mèo và động vật có vú như trên: ĐỘN G VẬT CÓ VÚ MÈO CH Ó Tương tự, khi chúng ta nói rằng ListBox và Button là những Window, ta phải chỉ ranhững đặc tính và hành vi của những Window có trong cả hai lớp trên. Hay nói cáchkhác, Window là tổng quát hóa chia xẻ những thuộc tính của hai lớp ListBox vàButton, trong khi đó mỗi trường hợp đặc biệt ListBox và Button sẽ có riêng những thuộctính và hành vi đặc thù khác. Ngôn ngữ mô hình hóa thống nhất (UML) UML ( Unified Modeling Language) là ngôn ngữ chuẩn hóa để mô tả cho một hệ thống hoặc thương mại. Trong chương này sử dụng một số phần của mô hình UML để trình bày các biểu đồ quan hệ giữa các lớp. Trong UML, những lớp được thể hiện như các khối hộp, tên của lớp được đặt trên cùng của khối hộp, và các phương thức hay các biến thành viên được đặt bên trong hộp. Như trong hình 5.1, mô hình quan hệ tổng quát hóa và đặc biệt hóa được trình bày qua UML, ghi chú rằng mũi tên đi từ các lớp đặc biệt hóa đến lớp tổng quát hóa. Windo w Button List Box Hình 5.2: Quan hệ giữa thành phần cửa sổ Thông thường lưu ý rằng khi hai lớp chia xẻ chức năng với nhau, thì chúng đượctrích ra các phần chung và đưa vào lớp cơ sở chia xẻ. Điều này hết sức có lợi, vì nócung cấp khả năng cao để sử dụng lại các mã nguồn chung và dễ dàng duy trì mãnguồn. W i n d o w R Check Box Command ListBox adio B utton 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. Saukhi làm việc với RadioButton, CheckBox, và CommandButton một thời gian ta nhậnthấy chúng chia xẻ nhiều thuộc ...

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