Nội dung bài học 1. Khái niệm kế thừa 2. Biểu diễn quan hệ kế thừa trong biểu đồ lớp 3. Nguyên lý kế thừa 4. Khởi tạo và hủy bỏ đối tượng lớp con
30/08/2021 Lập trình hướng đối tượng 2
Khái niệm kế thừa Inheritance
30/08/2021 Lập trình hướng đối tượng 3
Kế thừa
30/08/2021 Lập trình hướng đối tượng 4
Bản chất của kế thừa
30/08/2021 Lập trình hướng đối tượng 5
Bản chất kế thừa
30/08/2021 Lập trình hướng đối tượng 6
Ví dụ
30/08/2021 Lập trình hướng đối tượng 7
Mối quan hệ kế thừa
30/08/2021 Lập trình hướng đối tượng 8
Mối quan hệ kế thừa
30/08/2021 Lập trình hướng đối tượng 9
Mối quan hệ kế thừa
30/08/2021 Lập trình hướng đối tượng 10
Cú pháp kế thừa trong Java
30/08/2021 Lập trình hướng đối tượng 11
Cú pháp kế thừa trong C/C++
30/08/2021 Lập trình hướng đối tượng 12
Bản chất kế thừa
30/08/2021 Lập trình hướng đối tượng 13
Kế thừa và kết tập
30/08/2021 Lập trình hướng đối tượng 14
Biểu diễn quan hệ kế thừa trong biểu đồ lớp
30/08/2021 Lập trình hướng đối tượng 15
Cây phân cấp kế thừa
30/08/2021 Lập trình hướng đối tượng 16
Cây phân cấp kế thừa
30/08/2021 Lập trình hướng đối tượng 17
Cây phân cấp kế thừa
30/08/2021 Lập trình hướng đối tượng 18
Lớp Object
30/08/2021 Lập trình hướng đối tượng 19
Lớp Object
30/08/2021 Lập trình hướng đối tượng 20
Nguyên lý kế thừa Lớp con kế thừa được những gì từ lớp cha?
30/08/2021 Lập trình hướng đối tượng 21
Nguyên lý kế thừa
30/08/2021 Lập trình hướng đối tượng 22
Nguyên lý kế thừa
30/08/2021 Lập trình hướng đối tượng 23
Nguyên lý kế thừa
30/08/2021 Lập trình hướng đối tượng 24
Ví dụ
30/08/2021 Lập trình hướng đối tượng 25
Ví dụ 2
30/08/2021 Lập trình hướng đối tượng 26
Ví dụ 2 (tt)
30/08/2021 Lập trình hướng đối tượng 27
Ví dụ 3
30/08/2021 Lập trình hướng đối tượng 28
Ví dụ 3
30/08/2021 Lập trình hướng đối tượng 29
Khởi tạo và hủy bỏ đối tượng Thứ tự khởi tạo, gọi phương thức của lớp cha
30/08/2021 Lập trình hướng đối tượng 30
Khởi tạo và hủy bỏ đối tượng
30/08/2021 Lập trình hướng đối tượng 31
Gọi phương thức của lớp cha
30/08/2021 Lập trình hướng đối tượng 32
Ví dụ
30/08/2021 Lập trình hướng đối tượng 33
Ví dụ
30/08/2021 Lập trình hướng đối tượng 34
Ví dụ
30/08/2021 Lập trình hướng đối tượng 35
Ví dụ
30/08/2021 Lập trình hướng đối tượng 36
Các kỹ thuật kế thừa
30/08/2021 Lập trình hướng đối tượng 37
Nội dung học 1. Ghi đè 2. Lớp trừu tượng 3. Giao diện
30/08/2021 Lập trình hướng đối tượng 38
Ghi đè Override
30/08/2021 Lập trình hướng đối tượng 39
Mối quan hệ kế thừa
30/08/2021 Lập trình hướng đối tượng 40
Định nghĩa lại hay ghi đè
30/08/2021 Lập trình hướng đối tượng 41
Định nghĩa lại hay ghi đè
30/08/2021 Lập trình hướng đối tượng 42
Ví dụ class Shape { protected String name; Shape(String n) { name = n; } public String getName() { return name; } public float calculateArea() { return 0.0f; } } class Circle extends Shape { private int radius; Circle(String n, int r){ super(n); radius = r; } public float calculateArea() { float area = (float)(3.14 * radius * radius); return area; } }
30/08/2021 Lập trình hướng đối tượng 43
Lớp Square
30/08/2021 Lập trình hướng đối tượng 44
Viết lớp Triangle • Sinh viên thực hiện theo nhóm
30/08/2021 Lập trình hướng đối tượng 45
Sử dụng từ khóa super
30/08/2021 Lập trình hướng đối tượng 46
Ví dụ
30/08/2021 Lập trình hướng đối tượng 47
Quy định trong ghi đè
30/08/2021 Lập trình hướng đối tượng 48
Ví dụ
30/08/2021 Lập trình hướng đối tượng 49
Quy định trong ghi đè (tiếp)
30/08/2021 Lập trình hướng đối tượng 50
Hạn chế ghi đè
30/08/2021 Lập trình hướng đối tượng 51
Lớp trừu tượng Abstract Class
30/08/2021 Lập trình hướng đối tượng 52
Lớp trừu tượng
30/08/2021 Lập trình hướng đối tượng 53
Lớp trừu tượng
30/08/2021 Lập trình hướng đối tượng 54
Lớp trừu tượng
30/08/2021 Lập trình hướng đối tượng 55
Lớp trừu tượng
30/08/2021 Lập trình hướng đối tượng 56
Lớp trừu tượng
30/08/2021 Lập trình hướng đối tượng 57
Ví dụ
30/08/2021 Lập trình hướng đối tượng 58
Ví dụ 2
30/08/2021 Lập trình hướng đối tượng 59
Ví dụ 2 (tt)
30/08/2021 Lập trình hướng đối tượng 60
Giao diện Interface
30/08/2021 Lập trình hướng đối tượng 61
Đa kế thừa và đơn kế thừa
30/08/2021 Lập trình hướng đối tượng 62
Vấn đề gặp phải trong đa kế thừa
30/08/2021 Lập trình hướng đối tượng 63
Giao diện
30/08/2021 Lập trình hướng đối tượng 64
Giao diện
30/08/2021 Lập trình hướng đối tượng 65
Giao diện
30/08/2021 Lập trình hướng đối tượng 66
Interface
30/08/2021 Lập trình hướng đối tượng 67
Góc nhìn quan niệm
30/08/2021 Lập trình hướng đối tượng 68
30/08/2021 Lập trình hướng đối tượng 69 Giao diện
30/08/2021 Lập trình hướng đối tượng 70
Ví dụ
30/08/2021 Lập trình hướng đối tượng 71
Ví dụ
30/08/2021 Lập trình hướng đối tượng 72
class Circle extends Shape implements Actable { private int radius; public Circle(String n, int x, int y, int r) { super(n, x, y); radius = r; } public float calculateArea() { float area = (float) (3.14 * radius * radius); return area; } public void draw(Graphics g) { System out println("Draw circle at (" + x + “," + y + ")"); g.drawOval(x-radius,y-radius,2*radius,2*radius); } public void moveTo(Graphics g, int x1, int y1) { erase(g); x = x1; y = y1; draw(g); } public void erase(Graphics g) { System out println(“Erase circle at (" + x + “," + y + ")"); // paint the region with background color... } } 30/08/2021 Lập trình hướng đối tượng 73 Lớp và giao diện