intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình Java: Chương 4: Tính kế thừa và đa hình

Chia sẻ: Nguyễn Quân | Ngày: | Loại File: PPT | Số trang:27

500
lượt xem
86
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giải thích được: – Thừa kế là gì trong OOP – Các loại thừa kế trong các ngôn ngữ OOP – Đa hình là gì trong OOP • Phân biệt được kỹ thuật Overloading và overriding • Hiện thực được đặc điểm thừa kế trong OOP với Java • Hiện thực được đặc điểm đa hình trong OOP với Java • Sử dụng được toán tử instanceOf và ép kiểu trong Java

Chủ đề:
Lưu

Nội dung Text: Lập trình Java: Chương 4: Tính kế thừa và đa hình

  1. LẬP TRÌNH JAVA Chương 04 TÍNH KẾ THỪA VÀ ĐA HÌNH INHERITANCE - POLYMORPHISM ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 1/31
  2. Mục tiêu • Giải thích được: – Thừa kế là gì trong OOP – Các loại thừa kế trong các ngôn ngữ OOP – Đa hình là gì trong OOP • Phân biệt được kỹ thuật Overloading và overriding • Hiện thực được đặc điểm thừa kế trong OOP với Java • Hiện thực được đặc điểm đa hình trong OOP với Java • Sử dụng được toán tử instanceOf và ép kiểu trong Java • Giải thích được những tình huống có thể xẩy ra khi ép kiểu ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 2/31
  3. Nội dung 4.1- Tính kế thừa – Inheritance. 4.2- Các loại thừa kế. 4.3- Hiện thực lớp con trong Java. 4.4- Tính đa hình. 4.5- Kỹ thuật Overriding 4.6- Quan hệ qiữa các lớp 4.7- Toán tử instanceof 4.8- Vấn đề ép kiểu trong Java 4.9- Tham số của hàm trong Java ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 3/31
  4. 4.1- Tính kế thừa – Inheriatance  Khả năng một lớp thừa hưởng data và code từ một hay nhiều lớp khác.  Kỹ thuật giúp tái sử dụng code  Tiết kiệm công sức lập trình, công sức kiểm tra code. ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 4/31
  5. 4.2- Các loại thừa kế  Đơn thừa kế  Đa thừa kế (thừa kế bội)  Mỗi ngôn ngữ OOP hỗ trợ khả năng thừa kế riêng.  C++: đa thừa kế.  C#, Java: Đơn thừa kế ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 5/31
  6. 4.3- Hiện thực lớp con trong Java Lớp con là mở rộng của lớp cha class CLASSNAME extends FATHERCLASSNAME { DataType1 Property1 [=Value]; DataType2 Property1 [=Value]; CLASSNAME (DataType Arg,…) // constructor {… } [Modifier] DataType MethodName( DataType Arg,…) {…} } ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 6/31
  7. Thí dụ về thừa kế 200 150 25 Quang 300 P03 150 25 Luan 200 P02 21 Hoa 100 P01 mng 300 emp 200 p 100 ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 7/31
  8. Bài tập Phân tích phân cấp thừa kế cho các lớp:  Hàng đ ện máy  Hàng sành sứ  Hàng thực phẩm  Viết chương trình tạo mỗi loại một mặt hàng cụ thể, xuất thônghương 4- Tính Thừa kếmĐa t hàng này. tin về các và ặhình ThS. Nguyễn Thị Thùy C Slide 8/31
  9. 4.4- Tính đa hình - Polymorphism  Đa hình thái, nhiều cách phản ứng khác nhau cho cùng một hành vi  Lớp A có hành vi M()  Lớp B là con của lớp A, trong lớp B viết lại hành vi M()  Có biến đố tượng obj i  Tại thời đểm t1: obj chỉ đế một thực thể A, i n obj.M() sẽ cho một phản ứng  Tại thời đểm t2: obj chỉ đế một thực thể B, i n obj.M() sẽ cho một phản ứng khác  Tính đ hình có đượ là nhờ kỹ thuật override hành a c vi giữa 2 lớp cha con. ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 9/31
  10. 4.5- Kỹ thuật Overriding  Override: ghi đ thay thế code một hành vi thừa kế è, từ lớp cha để lớp con phản ứng khác với phản ứng của lớp cha khi cùng đượ yêu cầu thực thi hành vi c này.  Khác biệt giữa overloading và overriding: – Overloading: Kỹ thuật cho phép nhiều hành vi trùng tên nhưng khác chữ ký trong cùng một lớp. – Overriding: Kỹ thuật cho phép sửa code của một hành vi mà lớp con thừa kế từ lớp cha đểlớp con phản ứng khác với lớp cha. ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 10/31
  11. Ví dụ về overload và override overloading method: cùng tên, khác tham số, cùng lớp overriding method: cùng tên, cùng tham số, ở hai lớp cha con ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 11/31
  12. Ví dụ thêm đuôi thêm đầu ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 12/31
  13. Ví dụ : Đối tượng lớp cha nhưng cụ thể lại là lớp con Biến đối tượng là tham khảo nên hoàn toàn có thể khai báo biến là lớp cha nhưng khởi tạo biến là đối tượng thuộc lớp con. Tính đa hình ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 13/31
  14. 4.6- Quan hệ giữa các lớp  Quan hệ cha con : tính thừa kế ( đ bàn rồi). ã  Quan hệ bao gộp: Lớp có thành phần dữ liệu là thể hiện của 1 lớp khác. – Lớp thành phần là lớp bên ngoài. – Lớp thành phần là lớp bên trong ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 14/31
  15. 4.6.1-Lớp có dữ liệu là một đối tượng của lớp ngoài Chương trình xuất hóa đơn ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 15/31
  16. Lớp có dữ liệu là một đối tượng của lớp ngoài... ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 16/31
  17. Lớp có dữ liệu là một đối tượng của lớp ngoài... ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 17/31
  18. 4.6.2-Lớp nội – Inner/nested class  Là lớp đượ khai báo bên trong một lớp khác. c  Lớp trong truy xuất đượ lớp ngoài. c  Lớp ngoài có phải có ít nhất một thành phần là instance của lớp trong và truy xuất cac1 instance này. ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 18/31
  19. 4.6.2-Lớp nội – Inner/nested class Inner class... Cú pháp: Lớp ngoài muốn truy cập lớp trong thì phải định class Outter nghĩa 1 đối tượng lớp trong { …. ( bằng toán tử new ) class Inner Lợi ích: {… Có thể viết code truy } xuất lớp ngoài từ lớp trong mà không cần } định nghĩa đối tượng lớp ngoài ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 19/31
  20. Lớp nội: Lớp ngoài không thể truy cập trực tiếp lớp trong ThS. Nguyễn Thị Thùy Chương 4- Tính Thừa kế và Đa hình Slide 20/31
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2