Bài giảng Lập trình hướng đối tượng - Giới thiệu và thừa kế

Ngoài việc nhóm các đối tượng có cùng tập thuộc tính/hành vi lại với nhau, con người thường nhóm các đối tượng có cùng một số (chứ không phải tất cả) thuộc tính/hành vi

Ví dụ, ta nhóm tất cả xe chạy bằng động cơ thành một nhóm, rồi phân thành các nhóm nhỏ hơn tuỳ theo loại xe (xe ca, xe tải,.)

Mỗi nhóm con là một lớp các đối tượng tương tự, nhưng giữa tất cả các nhóm con có chung một số đặc điểm

Quan hệ giữa các nhóm con với nhóm lớn được gọi là quan hệ “là”

một cái xe ca “là” xe động cơ

một cái xe tải “là” xe động cơ

một cái xe máy “là” xe động cơ

 

 

ppt11 trang | Chuyên mục: Lập Trình Hướng Đối Tượng | Chia sẻ: dkS00TYs | Lượt xem: 1578 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Lập trình hướng đối tượng - Giới thiệu và thừa kế, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Giới thiệu về Thừa kế Lập trình hướng đối tượng Tổng quan Quan hệ là - “is-a” relationship Thuật ngữ của quan hệ thừa kế Sơ đồ quan hệ đối tượng – Object relationship diagram Cây thừa kế - inheritance hierarchy Quan hệ “là” Ngoài việc nhóm các đối tượng có cùng tập thuộc tính/hành vi lại với nhau, con người thường nhóm các đối tượng có cùng một số (chứ không phải tất cả) thuộc tính/hành vi Ví dụ, ta nhóm tất cả xe chạy bằng động cơ thành một nhóm, rồi phân thành các nhóm nhỏ hơn tuỳ theo loại xe (xe ca, xe tải,...) Mỗi nhóm con là một lớp các đối tượng tương tự, nhưng giữa tất cả các nhóm con có chung một số đặc điểm Quan hệ giữa các nhóm con với nhóm lớn được gọi là quan hệ “là” một cái xe ca “là” xe động cơ một cái xe tải “là” xe động cơ một cái xe máy “là” xe động cơ Quan hệ “là” Ta hãy dùng cấu trúc hướng đối tượng để định nghĩa quan hệ “là” Các đối tượng được nhóm lại thành một lớp thì có cùng tập thuộc tính và hành vi vậy, mọi đối tượng xe động cơ có cùng tập thuộc tính và hành vi, cũng như vậy, mọi đối tượng xe tải có cùng tập thuộc tính và hành vi Mối liên kết giữa các lớp trong quan hệ “là” xuất phát từ thực tế rằng các lớp con cũng có mọi thuộc tính/hành vi của lớp cha, và cộng thêm các thuộc tính/hành vi khác nữa Thuật ngữ Lớp cha – superclass (hoặc lớp cơ sở - base class) lớp tổng quát hơn trong một quan hệ “là” các đối tượng thuộc lớp cha có cùng tập thuộc tính và hành vi S Lớp con – subclass (hoặc lớp dẫn xuất – derived class) lớp cụ thể hơn trong một quan hệ “là” các đối tượng thuộc lớp con có cùng tập thuộc tính và hành vi S (do thừa kế từ lớp cha), kèm thêm tập thuộc tính và hành vi S’ của riêng lớp con Quan hệ “là” còn gọi là sự thừa kế - Inheritance (chữ I trong tam giác hướng đối tượng “P.I.E”) Ta nói rằng lớp con “thừa kế từ” lớp cha, hoặc lớp con “được dẫn xuất từ” lớp cha Sơ đồ quan hệ đối tượngObject Relationship Diagram - ORD Ta đã làm quen với quan hệ thừa kế, hãy xem ta có thể biểu diễn nó trong sơ đồ quan hệ đối tượng như thế nào Khi mô tả các quan hệ thừa kế giữa các lớp trong ORD, mục đích là để chỉ rõ sự khác biệt giữa các lớp tham gia quan hệ đó một lớp con khác lớp cha của nó ở chỗ nào? các lớp con khác nhau ở chỗ nào? Sơ đồ quan hệ đối tượng Biểu diễn một quan hệ thừa kếgiữa hai lớp bằng một mũi têntrỏ từ lớp con đến lớp cha Sơ đồ quan hệ đối tượng Biểu diễn các thuộc tính và hành vi Giả sử lớp MotorVehicle có các thuộc tính vin (số đăng ký xe), make (hãng), model (kiểu), và hành vi drive (lái) Sơ đồ quan hệ đối tượng Biểu diễn sự khác biệt giữa các lớp như thế nào? nếu không có gì khác nhau thì chẳng có lý do gì để lập lớp con Giả sử, xe ca có thêm thuộc tính passengers (số hành khách tối đa mà xe có thể chở); xe tải có thêm thuộc tính maximum payload (trọng tải tối đa) và các hành vi load (bốc), unload (dỡ). Khi biểu diễn các thuộc tính và hành vi của các lớp con, chỉ cần liệt kê các thuộc tính/hành vi mà lớp cha không có đơn giản hoá sơ đồ, không lặp lại các thuộc tính/hành vi được thừa kế (có thể tìm thấy chúng bằng cách “lần theo mũi tên”) nhấn mạnh các điểm khác biệt, cho phép dễ dàng nhận ra lý do cho việc lập lớp con Sơ đồ quan hệ đối tượng Ta có sơ đồ: Cây thừa kế Các quan hệ thừa kế luôn được biểu diễn với các lớp con đặt dưới lớp cha để nhấn mạnh bản chất phả hệ của quan hệ Ta cũng có thể có nhiều tầng thừa kế, tại mỗi tầng, các lớp con tiếp tục thừa kế từ lớp cha một xe chở rác (dump truck) là xe tải, và cũng là xe chạy bằng động cơ Nghĩa là các lớp con được thừa kế các thuộc tính và hành vi của mọi lớp cơ sở bên trên nó một xe chở rác có mọi thuộc tính và hành vi của xe động cơ, kèm theo mọi thuộc tính và hành vi của xe tải, kèm theo các thuộc tính và hành vi của riêng xe rác. 

File đính kèm:

  • pptBài giảng Lập trình hướng đối tượng - Giới thiệu và thừa kế.ppt