Bắt đầu với lập trình Java phần 6
Số trang: 40
Loại file: pdf
Dung lượng: 136.58 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Kế thừa và đa hìnhNội dungĐa hìnhupcasting liên kết độngLớp và phương thức trừu tượng Đa kế thừa và giao diện Một cách lập trình tổng quátNguyễn Việt HàKế thừa và đa hình
Nội dung trích xuất từ tài liệu:
Bắt đầu với lập trình Java phần 6Kế thừa và đa hìnhNội dung Đa hình upcasting liên kết động Lớp và phương thức trừu tượng Đa kế thừa và giao diện Một cách lập trình tổng quát 2 Kế thừa và đa hìnhNguyễn Việt HàTài liệu tham khảo Thinking in Java, chapter 7, 8 Java how to program, chapter 9 3 Kế thừa và đa hìnhNguyễn Việt HàPolymorphism (đa hình) là gì Polymorphism: nhiều hình thức, nhiều kiểu tồn tại Đa hình trong lập trình đa hình hàm: hàm trùng tên, phân biệt bởi danh sách tham số đa hình đối tượng nhìn nhận đối tượng theo nhiều kiểu khác nhau các đối tượng khác nhau giải nghĩa thông điệp theo cách thức khác nhau 4 Kế thừa và đa hìnhNguyễn Việt HàUp casting 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 thuộc lớp cơ sở dùng đối tượng của lớp dẫn xuất để truyền tham số dùng đối tượng của lớp dẫn xuất làm thuộc tính 5 Kế thừa và đa hìnhNguyễn Việt Hà Person p; Person Employee e = new Employee(); -name -birthday p = (Person) e; +setName() p.setName(...); +setBirthday() p.setSalary(...); // compile error Employee -salary +setSalary() +getDetail() 6 Kế thừa và đa hìnhNguyễn Việt HàString teamInfo(Person p1, Person p2) { return Leader: + p1.getName() + ; member: + p2.getName();}...Employee e1, e2;Manager m1, m2;…System.out.println(teamInfo(e1, e2));teamInfo(m1, m2); teamInfo(m1,e2); 7 Kế thừa và đa hìnhNguyễn Việt Hàclass Manager extends Employee { Employee assistant;... public void setAssistant(Employee e) { assistant = e; }...}...Manager junior, senior;...senior.setAssistant(junior); 8 Kế thừa và đa hìnhNguyễn Việt HàĐa hình và liên kết động Khả năng giải nghĩa các thông điệp theo các cách thức khác nhauPerson p1 = new Person();Person p2 = new Employee();Person p3 = new Manager();...System.out.println(p1.getDetail());System.out.println(p2.getDetail());System.out.println(p3.getDetail()); 9 Kế thừa và đa hìnhNguyễn Việt Hàclass EmployeeList { Employee list[];... public void add(Employee e) {...} public void print() { for (int i=0; iLiên kết tĩnh và liên kết độngStatic and dynamic binding Liên kết tĩnh: lời gọi hàm (phương thức) được quyết định khi biên dịch, do đó chỉ có một phiên bản của chương trình con được thực hiện ưu điểm về tốc độ Liên kết động: lời gọi phương thức được quyết định khi thực hiện, phiên bản của phương thức phù hợp với đối tượng được gọi Java mặc định sử dụng liên kết động 11 Kế thừa và đa hìnhNguyễn Việt HàDown castingEmployee e = new Employee();Person p = e; // up castingEmployee ee = (Employee)p; // down castingManager m = (Manager)ee; // run-time errorPerson p2 = new Manager();Employee e2 = (Employee) p2; 12 Kế thừa và đa hìnhNguyễn Việt HàToán tử instanceofpublic class Employee extends Person {}public class Student extends Person {}---public doSomthing(Person e) { if (e instanceof Employee) {... } else if (e instanceof Student) {... } else {...}} 13 Kế thừa và đa hìnhNguyễn Việt HàPrivate methodclass Base { private void f() { System.out.println(”base f()”); } public void show() { f() }}public class Derived extends Base { private void f() { System.out.println(”derived f()”); } public static void main(String args[]) { Derived d = new Derived(); Base b = d; b.show(); }} 14 Kế thừa và đa hìnhNguyễn Việt HàCopy constructor(?)class Employee extends Person { double salary; Employee(Employee e) { super(e); salary = e.salary; }...} 15 Kế thừa và đa hìnhNguyễn Việt HàGọi phương thức trong constructorclass Shape { public Shape() { draw(); } public void dr ...
Nội dung trích xuất từ tài liệu:
Bắt đầu với lập trình Java phần 6Kế thừa và đa hìnhNội dung Đa hình upcasting liên kết động Lớp và phương thức trừu tượng Đa kế thừa và giao diện Một cách lập trình tổng quát 2 Kế thừa và đa hìnhNguyễn Việt HàTài liệu tham khảo Thinking in Java, chapter 7, 8 Java how to program, chapter 9 3 Kế thừa và đa hìnhNguyễn Việt HàPolymorphism (đa hình) là gì Polymorphism: nhiều hình thức, nhiều kiểu tồn tại Đa hình trong lập trình đa hình hàm: hàm trùng tên, phân biệt bởi danh sách tham số đa hình đối tượng nhìn nhận đối tượng theo nhiều kiểu khác nhau các đối tượng khác nhau giải nghĩa thông điệp theo cách thức khác nhau 4 Kế thừa và đa hìnhNguyễn Việt HàUp casting 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 thuộc lớp cơ sở dùng đối tượng của lớp dẫn xuất để truyền tham số dùng đối tượng của lớp dẫn xuất làm thuộc tính 5 Kế thừa và đa hìnhNguyễn Việt Hà Person p; Person Employee e = new Employee(); -name -birthday p = (Person) e; +setName() p.setName(...); +setBirthday() p.setSalary(...); // compile error Employee -salary +setSalary() +getDetail() 6 Kế thừa và đa hìnhNguyễn Việt HàString teamInfo(Person p1, Person p2) { return Leader: + p1.getName() + ; member: + p2.getName();}...Employee e1, e2;Manager m1, m2;…System.out.println(teamInfo(e1, e2));teamInfo(m1, m2); teamInfo(m1,e2); 7 Kế thừa và đa hìnhNguyễn Việt Hàclass Manager extends Employee { Employee assistant;... public void setAssistant(Employee e) { assistant = e; }...}...Manager junior, senior;...senior.setAssistant(junior); 8 Kế thừa và đa hìnhNguyễn Việt HàĐa hình và liên kết động Khả năng giải nghĩa các thông điệp theo các cách thức khác nhauPerson p1 = new Person();Person p2 = new Employee();Person p3 = new Manager();...System.out.println(p1.getDetail());System.out.println(p2.getDetail());System.out.println(p3.getDetail()); 9 Kế thừa và đa hìnhNguyễn Việt Hàclass EmployeeList { Employee list[];... public void add(Employee e) {...} public void print() { for (int i=0; iLiên kết tĩnh và liên kết độngStatic and dynamic binding Liên kết tĩnh: lời gọi hàm (phương thức) được quyết định khi biên dịch, do đó chỉ có một phiên bản của chương trình con được thực hiện ưu điểm về tốc độ Liên kết động: lời gọi phương thức được quyết định khi thực hiện, phiên bản của phương thức phù hợp với đối tượng được gọi Java mặc định sử dụng liên kết động 11 Kế thừa và đa hìnhNguyễn Việt HàDown castingEmployee e = new Employee();Person p = e; // up castingEmployee ee = (Employee)p; // down castingManager m = (Manager)ee; // run-time errorPerson p2 = new Manager();Employee e2 = (Employee) p2; 12 Kế thừa và đa hìnhNguyễn Việt HàToán tử instanceofpublic class Employee extends Person {}public class Student extends Person {}---public doSomthing(Person e) { if (e instanceof Employee) {... } else if (e instanceof Student) {... } else {...}} 13 Kế thừa và đa hìnhNguyễn Việt HàPrivate methodclass Base { private void f() { System.out.println(”base f()”); } public void show() { f() }}public class Derived extends Base { private void f() { System.out.println(”derived f()”); } public static void main(String args[]) { Derived d = new Derived(); Base b = d; b.show(); }} 14 Kế thừa và đa hìnhNguyễn Việt HàCopy constructor(?)class Employee extends Person { double salary; Employee(Employee e) { super(e); salary = e.salary; }...} 15 Kế thừa và đa hìnhNguyễn Việt HàGọi phương thức trong constructorclass Shape { public Shape() { draw(); } public void dr ...
Tìm kiếm theo từ khóa liên quan:
lập trình Java tin học ứng dụng lập trình windows lập trình C# mẹo hay cho tin học thủ thuật windowsGợi ý tài liệu liên quan:
-
Tài liệu bồi dưỡng giáo viên sử dụng SGK Tin học 10 Cánh diều (Định hướng Tin học ứng dụng)
61 trang 238 0 0 -
101 trang 199 1 0
-
20 trang 183 0 0
-
Cách gỡ bỏ hoàn toàn các add on trên Firefox
7 trang 180 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 177 0 0 -
Giáo trình Mạng máy tính (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
189 trang 164 0 0 -
bảo mật mạng các phương thức giả mạo địa chỉ IP fake IP
13 trang 158 0 0 -
Giáo trình Tin học ứng dụng: Phần 1 - Trường ĐH Tài nguyên và Môi trường Hà Nội
125 trang 151 0 0 -
Bài giảng Tin học ứng dụng: Kiểm định trung bình - Trường ĐH Y dược Huế
25 trang 144 0 0 -
Giáo trình Quản trị mạng (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
173 trang 123 1 0