Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
171,03 KB
Nội dung
Kế thừa
Kế thừa
2
NguyễnViệtHà
Nội dung
Vấn đề sử dụng lại
Sử dụng lại bằng kế thừa
Kế thừa trong Java
định nghĩa lớp kế thừa
thêm phương thức, thuộc tính
kiểm soát truy cập
constructor
Lớp Object
Kế thừa
3
NguyễnViệtHà
Tài liệu tham khảo
Thinking in Java, chapter 6
Java how to program, chapter 9
Kế thừa
4
NguyễnViệtHà
Sử dụng lại
Tồntại nhiềuloại đốitượng có các thuộc
tính và hành vi tương tự hoặc liên quan
đến nhau
Person, Student, Manager,…
Xuấthiện nhu cầusử dụng lạicácmã
nguồn đãviết
Sử dụng lại thông qua copy
Sử dụng lại thông qua quan hệ has_a
Sử dụng lại thông qua cơ chế “kế thừa”
Kế thừa
5
NguyễnViệtHà
Sử dụng lại
Copy mã nguồn
Tốn công, dễ nhầm
Khó sửalỗi do tồntại nhiều phiên bản
Quan hệ has_a
Sử dụng lớpcũ như là thành phầncủalớp
mới
Sử dụng lạicàiđặtvớigiaodiệnmới
Phảiviếtlạigiaodiện
Chưa đủ mềm dẻo
Kế thừa
6
NguyễnViệtHà
Ví dụ: has_a
class Person {
private String name;
private Date bithday;
public String getName() { return name; }
}
class Employee {
private Person me;
private double salary;
public String getName() { return me.getName(); }
}
Kế thừa
7
NguyễnViệtHà
class Manager {
private Employee me;
private Employee assistant;
public setAssistant(Employee e) { }
}
Manager junior = new Manager();
Manager senior = new Manager();
senior.setAssistant(junior); // error
Kế thừa
8
NguyễnViệtHà
Kế thừa
Dựa trên quan hệ is_a
Thừahưởng lạicácthuộctínhvàphương
thức đãcó
Chi tiết hóa cho phù hợpvớimục đích sử
dụng mới
Thêm các thuộc tính mới
Thêm hoặchiệuchỉnh các phương thức
Kế thừa
9
NguyễnViệtHà
Thuậtngữ
Kế thừa
Lớpcơ sở, lớp cha
Lớpdẫnxuất, lớp con
Kế thừa
10
NguyễnViệtHà
Kế thừa trong Java
[public] class DerivedClass extends BaseClass {
/* new features goes here */
}
Ví dụ:
class Employee extends Person {
private double salary;
public boolean setSalary(double sal) {
salary = sal;
return true;
}
}
. thừa trong Java
định nghĩa lớp kế thừa
thêm phương thức, thuộc tính
kiểm soát truy cập
constructor
Lớp Object
Kế thừa
3
NguyễnViệtHà
Tài liệu tham. Lớp Object
Kế thừa
3
NguyễnViệtHà
Tài liệu tham khảo
Thinking in Java, chapter 6
Java how to program, chapter 9
Kế thừa
4
NguyễnViệtHà
Sử dụng lại