Bài giảng Lập trình hướng đối tượng: Chương 7 Đa hình (Polymophism) cung cấp cho người học những kiến thức như: Upcasting và Downcasting; Liên kết tĩnh và Liên kết động; Đa hình (Polymophism); Lập trình tổng quát (generic prog.). Mời các bạn cùng tham khảo! | 9 18 17 Nội dung Bộ môn Công nghệ Phần mềm 1. Upcasting và Downcasting Viện CNTT amp TT 2. Liên kết tĩnh và Liên kết động Trường Đại học Bách Khoa Hà Nội 3. Đa hình Polymophism 4. Lập trình tổng quát generic prog. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 07. Đa hình Polymophism 2 Nội dung . Upcasting 1. Upcasting và Downcasting n Moving up the inheritance hierarchy 2. Liên kết tĩnh và Liên kết động n Up casting là khả năng nhìn nhận đối tượng thuộc lớp dẫn xuất như là một đối tượng 3. Đa hình Polymophism thuộc lớp cơ sở. 4. Lập trình tổng quát generic prog. n Tự động chuyển đổi kiểu 3 4 1 9 18 17 Ví dụ Ví dụ 2 class Manager extends Employee Employee assistant . public void setAssistant Employee e assistant e public class Test1 . public static void main String arg Person p public class Test2 Employee e new Employee public static void main String arg Manager junior senior p e . Hoa junior 350000 compile error 5 6 Ví dụ 3 . Downcasting public class Test3 String static teamInfo Person p1 Person p2 n Move back down the inheritance hierarchy return quot Leader quot quot member quot n Down casting là khả năng nhìn nhận một đối tượng thuộc lớp cơ sở như một đối tượng public static void main String arg thuộc lớp dẫn xuất. Employee e1 e2 Manager m1 m2 n Không tự động chuyển đổi kiểu . à Phải ép kiểu. teamInfo e1 e2 teamInfo m1 m2 teamInfo m1 e2 7 8 2 9 18 17 Ví dụ Nội dung public class Test2 public static void main String arg 1. Upcasting và Downcasting Employee e new Employee Person p e up casting 2. Liên kết tĩnh và Liên kết động Employee ee Employee p down casting 3. Đa hình Polymophism Manager m Manager ee run-time error 4. Lập trình tổng quát generic prog. Person p2 new Manager Employee e2 Employee p2 Person p3 new Employee Manager e3 Manager p3 9 10 . Liên kết tĩnh Static Binding Ví dụ public class Test n Liên kết tại thời điểm biên dịch public static