Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
546,75 KB
Nội dung
L P TRÌNH JAVA BÀI 7: K TH A M C TIÊU K t thúc h c b n có kh n ng N m v ng s phân c p th a k Tái s d ng l p s n có Bi t cách ghi è ph ng th c N m v ng l p ph ng th c tr u t ng S PHÂN C P TH A K Các l p Java t n t i m t h th ng th b c phân c p, g i th a k L p b c g i l p cha (super class) l p b c d i g i l p (sub class) Trong Java m t l p ch có m t l p cha nh t ( n th a k ) PHÂN C P TH A K class Bicycle{…} class MountainBike extends Bicycle{…} class RoadBike extends Bicycle{…} class TandemBike extends Bicycle{…} Hình Hình giác Hình Hình trịn DEMO Tam giác Hình vng Xây theo trúc TH A K M c ích c a th a k tái s d ng L p c phép s h u tài s n (tr ph ng th c) c a l p cha ng L p c phép s h u tài s n public ho c protected c a l p cha L p c ng c phép s h u tài s n m c nh {default} c a l p cha n u l p l p cha c nh ngh a gói L p khơng th truy c p thành viên private c a l p cha L p không k th a hàm t o c a l p cha K TH A ; NhanVien{ public String hoTen; protected luong; NhanVien(String hoTen void xuat(){…} private T N (){…} luong){…} } ; TruongPhong extends NhanVien{ trachNhiem; TruongPhong (String hoTen luong xuat(){ // Mã có tài } } A B C D T () T N trachNhiem){…} () DEMO H hóa ví slide S D NG SUPER Truy c p n 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 } S super } } P C P super () S D NG SUPER ; NhanVien{ NhanVien(String hoTen xuat(){…} luong){…} } ; TruongPhong extends NhanVien{ trachNhiem; TruongPhong (String hoTen luong super(hoTen, luong); N trachNhiem } xuat(){ () S } } (trachNhiem) trachNhiem){ GHI È PH NG TH C (OVERRIDING) Overriding tr ng h p l p l p cha có ph ng th c cú pháp P C void method(){…} method(){…} } } L p Parent Child u có ph ng th c method() cú pháp nên method() Child s è lên method() Parent P C () M dù o có method() Parent Child () V N C A GHI È L p ghi è ph ng th c c a l p cha s che d u ph ng th c c a l p cha M c ích c a ghi è s a l i ph ng th c c a l p cha l p 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 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 NhanVien + hoTen + luong + T N () TruongPhong + trachNhiem + T N () LaoCong + soGioLamViec + T N () DEMO L NhanVien, T Lao cơng… tính theo cơng khác Ví nhân viên tháng, lao cơng , cịn có trách , L P TR U T L p tr u t ng l p có hành vi ch a xác nh rõ NG c Ví d 1: ã hình ch c ch n có di n tích chu vi nh ng ch a xác nh c cách tính mà ph i 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 ch c ch n có i m trung bình nh ng ch a xác nh c cách tính nh th mà ph i sinh viên c a ngành m i bi t c mơn h c cơng th c tính i m c th V y l p hình l p sinh viên l p tr u t ng ph ng th c tính chu vi, di n tích tính i m ch a th c hi n c L P TR T Hình C Trịn Hình Sinh viên Tam giác Vng Sinh viên C , Trịn, Tam giác, Vng, SV IT, SV Biz NG SV Biz SV IT NH NGH A L P TR U T abstract abstract } S khóa NG MyClass{ MyMethod(); abstract abstract } SinhVien{ getDiemTB(); abstract abstract abstract } Hinh{ getChuVi(); getDienTich(); NH NGH A L P TR U T abstract S abstract NG SinhVien{ hoTen; getDiemTB(); } SinhVienIT extends SinhVien{ diemJava; diemCss; @Override getDiemTB(){ return (2 * diemJava + diemCss)/3; } SinhVienBiz extends SinhVien { keToan; marketting; H ; @Override getDiemTB(){ return (keToan + marketting + H )/3; } } } NH NGH A L P TR U T NG T khóa abstract c s d ng nh ngh a l p ph ng th c tr u t ng Ph ng th c tr u t ng ph ng th c khơng có ph n thân x lý c khai báo b ng t khóa abstract L p ch a ph ng th c tr u t ng l p ó ph i l p tr u t ng Trong l p tr u t ng có th nh ngh a ph ng th c c th ho c khai báo tr ng Không th s d ng new t o i t ng t l p tr u t ng DEMO H hóa mơ hình Hình TÍNH A HÌNH (POLYMORPHISM) Overriding th c hi n tính a hình l p trình h ng i t ng (m t hành vi c th hi n v i hình thái khác nhau) G i ph ng th c b 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) C DongVat{ speak(){ S (“Woof”); } } abstract abstract } Meo extends DongVat{ speak(){ S (“Meo”); DongVat{ speak(); } } DongVat cho DongVat meo DongVat vit speak(); speak(); speak(); C Meo(); Vit(); Vit extends DongVat{ speak(){ S (“Quack”); } } T NG K T N I DUNG BÀI H C Th a k G i hàm t o c a l p cha S d ng super Ghi è ph ng th c L p ph ng th c tr u t ng
Ngày đăng: 11/10/2022, 13:16
HÌNH ẢNH LIÊN QUAN
nh
(Trang 5)
nh
(Trang 15)
h
óa mơ hình (Trang 19)
verriding
th c h in tín ha hình trong lp trình (Trang 20)
TÍN HA HÌNH (POLYMORPHISM) (Trang 21)