Danh mục

Bài giảng Lập trình hướng đối tượng - Bài 7: Đa hình

Số trang: 0      Loại file: pdf      Dung lượng: 706.99 KB      Lượt xem: 7      Lượt tải: 0    
thaipvcb

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (0 trang) 0
Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Lập trình hướng đối tượng - Bài 7: Đa hình" cung cấp cho sinh viên các kiến thức: 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. Đây là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin và những ai quan tâm đến lĩnh vực này dùng làm tài liệu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng - Bài 7: Đa hình 8/24/2011 Nội dung Bộ môn Công nghệ Phần mềm 1. Upcasting và Downcasting Viện CNTT & 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 1.1. Upcasting1. Upcasting và Downcasting  Moving up the inheritance hierarchy2. Liên kết tĩnh và Liên kết động3. Đa hình (Polymophism)4. Lập trình tổng quát (generic prog.) 3 4 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; // ... p.setName(“Hoa”); senior.setAssistant(junior); p.setSalary(350000); }} } 5 6 1 8/24/2011 Ví dụ (3) 1.2. Downcasting Move back down the inheritance hierarchypublic class Test3 { String static teamInfo(Person p1, Person p2){  return Leader: + p1.getName() + , member: + p2.getName(); } public static void main(String arg[]){ Employee e1, e2; Manager m1, m2; // ... System.out.println(teamInfo(e1, e2)); System.out.println(teamInfo(m1, m2)); System.out.println(teamInfo(m1, e2)); }} 7 8 Ví dụ Nội dung public class Test2 { public static void main(String arg[]){ 1. Upcasting và Downcasting Liên kết tĩnh và Liên kết động Employee e = new Employee(); Person p = e; 2. Employee ee = (Employee) p; 3. Đa hình (Polymophism) Manager m = (Manager) ee; Person p2 = new Manager(); 4. Lập trình tổng quát (generic prog.) Employee e2 = (Employee) p2; Person p3 = new Employee(); Manager e3 = (Manager) p3; } }9 10 2.1. Liên kết tĩnh (Static Binding) Ví dụ Liên kết tại thời điểm biên dịch public class Test { public static void main(String arg[]){ Person p = new Person(); p.setName(“Hoa”); p.setSalary(350000); } } 11 12 2 8/24/2011 2.2. Liên kết động (Dynamic binding) Ví dụ Lời gọi phương thức được quyết định khi public class Test { public static void main(String arg[]){ thực hiện (run-time) Person p = new Person(); // ... Employee e = new Employee(); // ... Manager m = new Manager(); // ... Person pArr[] = {p, e, m}; ...

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