bài giảng java kế thừa

60 637 0
bài giảng java kế thừa

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

KẾ THỪA Gv: Văn Thiên Hoàng 2/40 Mục đích & yêu cầu • Giải thích được: – Thừa kế là gì trong OOP. – Các loại thừa kế trong các ngôn ngữ OOP. • Phân biệt được kỹ thuật Overloading và overriding. • Sử dụng được toán tử instanceOf và ép kiểu trong Java • Giải thích được những tình huống có thể xảy ra khi ép kiểu. Gv: Văn Thiên Hoàng 3/40 Nội dung chính 1. Kế thừa – Inheritance. 2. Phạm vi kế thừa 3. Đối tượng Super 4. Định nghĩa lại phương thức 5. Quan hệ qiữa các lớp 6. Toán tử instanceof 7. Vấn đề ép kiểu trong Java Gv: Văn Thiên Hoàng 4/40 1. Kế thừa – Khái niệm • Kế thừa cho phép định nghĩa một lớp mới qua một lớp đã có. • Lớp dùng để kế thừa gọi là lớp cha (lớp cơ sở). • Lớp kế thừa gọi là lớp con (lớp dẫn xuất). • Lớp con có một số thành phần của lớp cha mà không cần định nghĩa. • Lớp con có thể định nghĩa thêm các thành phần riêng của mình. Gv: Văn Thiên Hoàng 5/40 1. Kế thừa – Ưu điểm • Thừa hưởng data và code từ một hay nhiều lớp khác. • Kỹ thuật này giúp tái sử dụng code  Tiết kiệm công sức lập trình, công sức kiểm tra code. Gv: Văn Thiên Hoàng 6/40 1. Kế thừa – Phân Loại • Đơn thừa kế • Đa thừa kế (thừa kế bội) • Mỗi ngôn ngữ OOP hỗ trợ khả năng thừa kế riêng. • C++: đa thừa kế. • C#, Java : Đơn thừa kế. Gv: Văn Thiên Hoàng 7/40 1. Kế thừa – Khai báo • Cú pháp: class <TênLớpCon>extends<TênLớpCha> { Khai báo các thành phần bổ sung của lớp con } • Ví dụ: lớp SinhVien kế thừa từ lớp ConNguoi class SinhVien extends CONNGUOI { …. } Gv: Văn Thiên Hoàng 8/40 1. Kế thừa – Ví dụ • Ví dụ: Lớp JFrame là lớp cửa sổ. Ta tạo một lớp cửa sổ riêng kế thừa lớp JFrame, có thêm thuộc tính là nút Button. Gv: Văn Thiên Hoàng 9/40 1. Kế thừa – Ví dụ  Hiển thị một cửa sổ Gv: Văn Thiên Hoàng 10/40 1. Kế thừa – Ví dụ  Khai báo lớp JMyFrame kế thừa lớp Frame [...]...2 Phạm vi kế thừa • Lớp con được phép kế thừa các thành phần của lớp cha với phạm vi: – public – protected • Thành phần protected: được phép kế thừa nhưng không được phép truy xuất bên ngoài lớp Gv: Văn Thiên Hoàng 11/40 2 Phạm vi kế thừa Ví dụ: class ConNguoi { protected String hoTen; protected int namSinh; public ConNguoi(){... +NVHD(…) +hienThi() +NVBC( ) +hienThi() +loaiNV() +layLuong() Gv: Văn Thiên Hoàng +loaiNV() +layLuong() 35/40 +laNVHDDH() 4.8 Đối tượng Object • Đây là đối tượng cấp cao nhất của mọi lớp trong Java Mọi lớp trong Java đều kế thừa từ lớp này • Đối tượng Object có một số phương thức: – public boolean equals(Object) – public String toString() • Ta có thể dùng tham chiếu của lớp Object để tham chiếu đến một đối... muộn: khi tham chiếu đến đối tượng thuộc lớp nào thì sử dụng các thành phần của lớp đó định nghĩa lại từ lớp cơ sở hoặc được kế thừa từ lớp cha • Ví dụ: với s1, s2 như trên s1.hienThi(); // sử dụng lớp SVSP s2.hienThi(); // sử dụng lớp SVTH Gv: Văn Thiên Hoàng 24/40 4.6 Cơ chế liên kết muộn (3) • Tham chiếu của lớp cơ sở chỉ sử dụng được những phương thức định nghĩa lại • Ví dụ: không thực hiện được boolean... đặt lớp SVTH Gv: Văn Thiên Hoàng 22/40 4.6 Cơ chế liên kết muộn • Tham chiếu của lớp cha có thể tham chiếu đến đối tượng của lớp con • Ví dụ: SV s1,s2; s1 = new SVSP(“Ng V A”,1986,7.5,”Trg A”, 7.0); s2 = new SVTH(“Le Th B”,1987,7,”VB”, 8.0); s1.hienThi(); ?? s2.hienThi(); ?? Gv: Văn Thiên Hoàng 23/40 4.6 Cơ chế liên kết muộn (2) • Cơ chế liên kết muộn: khi tham chiếu đến đối tượng thuộc lớp nào thì... ht){…} public void ganNamSinh(int ns){…} public String layHoTen(){…} public String layNamSinh(){…} public void hienThi() {System.out.print(hoTen+” “ + namSinh);} } Gv: Văn Thiên Hoàng 12/40 2 Phạm vi kế thừa class SinhVien extends ConNguoi { protected double dtb; public void ganDtb(double d){…} public double layDtb(){…} public void hienThi(){…} } Lớp SV có những thành phần nào? Gv: Văn Thiên Hoàng 13/40... void ganDtb(double d){…} public double layDtb(){…} public void hienThi(){…} } Gv: Văn Thiên Hoàng 15/40 4 Định nghĩa lại phương thức • Override: Trong lớp con được phép định nghĩa lại các phương thức kế thừa từ lớp cha • Đối tượng của lớp con sẽ sử dụng phương thức đã định nghĩa lại Gv: Văn Thiên Hoàng 16/40 4 Định nghĩa lại phương thức • Ví dụ: định nghĩa lại phương thức hienThi() trong lớp SinhVien:... sinhVien = new SinhVien(“Ng Van A”,1985,7.5); sinhVien.hienThi();//gọi phương thức đã được định nghĩa lại Gv: Văn Thiên Hoàng 17/40 Luyện tập • Khai báo lớp SV (theo sơ đồ) • Khai báo các lớp SVSP, SVTH kế thừa từ lớp SV • Chương trình: – Tạo 1 sinh viên SP – Tạo 1 sinh viên TH – Hiển thị thông tin của 2 SV trên Gv: Văn Thiên Hoàng 18/40 SV Sơ đồ các lớp #hoTen #namSinh #dtb +SV(String,int,double) +hienThi()... Hoàng 32/40 Sử dụng lớp DSSV class SDDSSV { public static void main(String args[]) {DSSV k1=new DSSV(80); SV s; s=new SVSP(“Cao Son”,1987,7.0,”Truong X”,7.0); k1.them(s); s=new SVTH(“Le Thi B”,1987,7.5, Java ,7.0); k1.them(s); … k1.lietKe(); k1.lietKe(“SP”); k1.dsTN(); } } Gv: Văn Thiên Hoàng 33/40 Luyện tập • Cần quản lý một danh sách nhân viên của 1 cơ quan gồm 2 loại: Nhân viên biên chế và nhân viên... nghĩa lại • Ví dụ: không thực hiện được boolean d1 = s1.duocTN(); boolean d2 = s2.duocTN(); • Để thực hiện được phải khai báo phương thức duocTN() ở lớp SV Gv: Văn Thiên Hoàng 25/40 4.7 Ứng dụng liên kết muộn • Chương trình quản lý danh sách sinh viên gồm 2 loại SVSP và SVTH Thực hiện các thao tác: – – – – Tạo lập và lưu trữ danh sách SV Liệt kê danh sách sv Liệt kê danh sách svsp Liệt kê danh sách . 6/40 1. Kế thừa – Phân Loại • Đơn thừa kế • Đa thừa kế (thừa kế bội) • Mỗi ngôn ngữ OOP hỗ trợ khả năng thừa kế riêng. • C++: đa thừa kế. • C#, Java : Đơn thừa kế. Gv: Văn Thiên Hoàng 7/40 1. Kế thừa. kiểu trong Java Gv: Văn Thiên Hoàng 4/40 1. Kế thừa – Khái niệm • Kế thừa cho phép định nghĩa một lớp mới qua một lớp đã có. • Lớp dùng để kế thừa gọi là lớp cha (lớp cơ sở). • Lớp kế thừa gọi. Hoàng 9/40 1. Kế thừa – Ví dụ  Hiển thị một cửa sổ Gv: Văn Thiên Hoàng 10/40 1. Kế thừa – Ví dụ  Khai báo lớp JMyFrame kế thừa lớp Frame Gv: Văn Thiên Hoàng 11/40 2. Phạm vi kế thừa • Lớp con

Ngày đăng: 24/10/2014, 00:24

Từ khóa liên quan

Mục lục

  • KẾ THỪA

  • Mục đích & yêu cầu

  • Nội dung chính

  • 1. Kế thừa – Khái niệm

  • 1. Kế thừa – Ưu điểm

  • 1. Kế thừa – Phân Loại

  • 1. Kế thừa – Khai báo

  • 1. Kế thừa – Ví dụ

  • Slide 9

  • Slide 10

  • 2. Phạm vi kế thừa

  • Slide 12

  • Slide 13

  • 3. Đối tượng super

  • Slide 15

  • 4 Định nghĩa lại phương thức

  • Slide 17

  • Luyện tập

  • Sơ đồ các lớp

  • Cài đặt lớp SV

Tài liệu cùng người dùng

Tài liệu liên quan