Lập trình java - Bài 7: Kế thừa

Lập trình java - Bài 7: Kế thừa

MỤC TIÊU 

+ Kết thúc bài học này bạn có khả năng

- Nắm vững sự phân cấp kế thừa 

- Tái sử dụng các lớp có sẵn

- Biết cách ghi đè phương thức

- Nắm vững lớp và phương thức trừu tượng

SỰ PHÂN CẤP THỪA KẾ

+ Các lớp trong java tồn tại trong hệ thống phân cấp gọi là cây kế thừa.

+ Lớp bậc trên gọi là lớp cha (supper class) trong khi các lớp bậc dưới gọi là lớp con (sub class).

+ Trong java một lớp chỉ có một lớp cha duy nhất (đơn kế thừa).

sự phân cấp thừa kế trong lập trình java


PHÂN CẤP THỪA KẾ

phân cấp thừa kế trong lập trình java


class Bicycle{...}

class MountainBike extends Bicycle{...}

class RoadBike extends Bicycle{...}

class TandemBike extends Bicycle{...}

THỪA KẾ 

+ Mục đích của thừa kế là tái sử dụng.

+ Lớp con được phép sở hữu các tài sản (trường và phương thức) của lớp cha.

 - Lớp con được phép sở hữu các tài sản public hoặc protected của lớp cha.

- Lớp con cũng được phép sở hữu các tài sản mặc định {default} của lớp cha nếu lớp con và lớp cha được định nghĩa cùng gói.

- Lớp con không thể truy cập thành viên private của lớp cha.

+ Lớp con không kế thừa các hàm tạo của lớp cha.

KẾ THỪA

kế thừa trong  lập trình java


SỬ DỤNG SUPER

+ Truy cập đến các thành viên của lớp cha bằng cách sử dụng từ khóa super.

+ Có thể sử dụng super để gọi hàm tạo của lớp cha.

sử dụng super trong lập trình java

sử dụng super trong lập trình java


GHI ĐÈ PHƯƠNG THỨC (OVERRIDING)

+ Overriding là trường hợp lớp con và lớp cha có phương thức cùng cú pháp.

ghi đè phương thức_ overriding trong lập trình java


+ Lớp Parent và Child có phương thức method() cùng cú pháp nên method() trong Child sẽ đè lên method() trong Parent.

ghi đè phương thức_ overriding trong lập trình java


VẤN ĐỀ CỦA GHI ĐÈ 

+ Lớp con ghi đè phương thức của lớp cha thì sẽ che dấu phương thức của lớp của lớp cha. 

+ Mục đích của ghi đè là để sửa lại phương thức của lớp cha trong lớp con.

+ Sử dụng từ khóa super để truy cập đến phương thức đã bị ghi đè của lớp cha.

+ Đặc tả truy xuất của phương thức lớp con phải có độ công khai bằng hoặc hơn đặc tả truy xuất của phương thức lớp cha.

LỚP TRỪU TƯỢNG 

+ Lớp trừu tượng là lớp có hành vi chưa được xác định rõ 

 - Ví dụ 1: Đã là hình thì chắc chắn có diện tích và chu vi nhưng chưa xác định được cách tính mà phải là một hình cụ thể như chữ nhật, tròn, tam giác... mới có thể xác định cách tính.

- Ví dụ 2: Sinh viên thì chắc chắn có điểm trung bình nhưng chưa xác định đươc cách tính như thế nào mà phải là sin viên của ngành nào mới biết được môn học và công thức tính điểm cụ thể. 

+ Vậy lớp hình và lớp sinh viên là các lớp trừu tượng vì phương thức tính chu vi, diện tích và tính điểm chưa thực hiện được.

lớp trừu tượng trong lập trình java


ĐỊNH NGHĨA LỚP TRỪU TƯỢNG 

định nghĩa lớp trừu tượng trong lập trình java

định nghĩa lớp trừu tượng trong lập trình java


+ Từ khóa abstract được sử dụng để định nghĩa lớp và phương thức trừu tượng

+ Phương thức trừu tượng là phương thức không có phần thân xử lý và được khai báo bằng từ khóa abstract.

+ Lớp chứa phương thức trừu tượng thì lớp đó phải là lớp trừu trượng.

+ Trong lớp trừu tượng có thể định nghĩa các phương thức cụ thể hoặc khái báo các trường.

+ Không thể sử dụng new để tạo đối tượng từ lớp trừu tượng. 

TÍNH ĐA HÌNH (POLYMORPHISM)

 + Overriding thực hiện tính đa hình trong lập trình hướng đối tượng ( một hành vi được thể hiện với các hình thái khác nhau).

+ Gọi phương thức được ghi đè được quyết định lúc chạy chương trình (runtime) chứ không phải lúc biên dịch chương trình (compile time).

tính đa hình_polymorphism trong lập trình java

tính đa hình_polymorphism trong lập trình java


TỔNG KẾT NỘI DUNG BÀI HỌC

+ Thừa kế 

+ Gọi hàm của lớp cha

+ Sử dụng super 

+ Ghi đè phương thức 

+ Lớp và phương thức trừu tượng 

website học lập trình java miễn phí mới nhất

ĐĂNG NHẬN XÉT

Previous Post Next Post