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
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}; ...
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ìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình hướng đối tượng Lập trình hướng đối tượng Upcasting và Downcasting Liên kết động lập trình tổng quát Liên kết tĩnhGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 254 0 0 -
101 trang 190 1 0
-
14 trang 127 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 110 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 93 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 90 0 0 -
265 trang 72 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 72 0 0 -
33 trang 57 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 49 0 0