Danh mục

Chương 04: TÍNH KẾ THỪA VÀ ĐA HÌNH

Số trang: 32      Loại file: ppt      Dung lượng: 232.50 KB      Lượt xem: 12      Lượt tải: 0    
tailieu_vip

Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Accsess modifier: chỉ thị mức độ cho phép bên ngoàitruy cập vào một dữ liệu hay một hành vi của 1 lớp.Khi thiết kế 1 lớp: Cần xem xét để chọn accessmodifier phù hợp đối với từng thành phần.Nếu muốn kết thúc một lớp( lớp không con), một hànhvi (không cho hiệu chỉnh), một dữ liệu (là hằng): Dùngchỉ thị final.Dữ liệu static là dữ liệu toàn cục của chương trình.Code static là code được thực thi ngay lúc lớp đượctham khảo đến....
Nội dung trích xuất từ tài liệu:
Chương 04: TÍNH KẾ THỪA VÀ ĐA HÌNH Chương 04 TÍNH KẾ THỪA VÀ ĐA HÌNHINHERITANCE - POLYMORPHISM Slide 1/33 Ôn tập• Accsess modifier: chỉ thị mức độ cho phép bên ngoài truy cập vào một dữ liệu hay một hành vi của 1 lớp.• Khi thiết kế 1 lớp: Cần xem xét để chọn access modifier phù hợp đối với từng thành phần.• Nếu muốn kết thúc một lớp( lớp không con), một hành vi (không cho hiệu chỉnh), một dữ liệu (là hằng): Dùng chỉ thị final.• Dữ liệu static là dữ liệu toàn cục của chương trình.• Code static là code được thực thi ngay lúc lớp được tham khảo đến.• Hành vi static là hàm toàn cục.• Truy xuất thành phần static thông qua tên lớp hoặc một đối tượng thuộc lớp. Slide 2/33 Ôn tập• Constructor: Hành vi được thực thi ngay lúc khởi tạo đối tượng.• Tập các constructor tạo ra tập các mẫu khởi tạo biến đối tượng.• Một đối tượng sống từ lúc đối tượng được khởi tạo (bằng new) cho đến khi khối chứa nó được thực thi xong.• Tầm vực của 1 đối tượng là vùng văn bản chương trình từ lúc định nghĩa biến đến hết khối chứa biến này.• Destructor: Hành vi được thực thi vào lúc đối tượng chết ( Java không hỗ trợ destructor). Slide 3/33Đặc tính truy xuất Modifier private friendly protected public Cùng class YES YES YES YESCùng gói, khác NO YES YES YES classlớp con trong NO YES YES YES cùng gói với lớp chaKhác gói, khác NO NO NO YES lớp Lớp con khác NO NO YES YESgói với lớp cha Slide 4/33 Mục tiê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. – Đa hình là gì trong OOP.• Phân biệt được kỹ thuật Overloading và Overriding.• Hiện thực được đặc điểm thừa kế trong OOP với Java.• Hiện thực được đặc điểm đa hình trong OOP với Java.• 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.• Giải thích được loại tham số trong hàm của Java. Slide 5/33 Nội dung4.1- Tính kế thừa – Inheritance.4.2- Các loại thừa kế.4.3- Hiện thực lớp con trong Java.4.4- Tính đa hình.4.5- Kỹ thuật Overriding4.6- Quan hệ qiữa các lớp4.7- Toán tử instanceof4.8- Vấn đề ép kiểu trong Java4.9- Tham số của hàm trong Java Slide 6/33 4.1- Tính kế thừa – Inheriatance• Khả năng một lớp thừa hưởng data và code từ một hay nhiều lớp khác.• Kỹ thuật 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. Slide 7/33 4.2- Các loại thừa kế.• Đơ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ế Slide 8/33 4.3- Hiện thực lớp con trong Java. Lớp con là mở rộng của lớp chaclass CLASSNAME extends FATHERCLASSNAME{ DataType1 Property1 [=Value]; DataType2 Property1 [=Value]; CLASSNAME (DataType Arg,…) // constructor {… } [Modifier] DataType MethodName( DataType Arg,…) {…}} Slide 9/33Thí dụ về thừa kế 200 150 25 Quang 300 P03 150 25 Luan 200 P02 21 Hoa 100 P01 mng 300 emp 200 p 100 Slide 10/33 Bài tậpPhân tích phân cấp thừa kế cho các lớp:(làm tại lớp)• Hàng điện máy • Hàng sành sứ < mã hàng, tên hàng, nhà sản xuất, giá, loại nguyên liệu>• Hàng thực phẩm Viết chương trình tạo mỗi loại một mặt hàng cụ thể. xuất thông tin về các mặt hàng này (Lab)• Gợi ý: cách viết tương tự thí dụ vừa rồi. Slide 11/33 4.4- Tính đa hình - Polymorphism• Đa hình thái, nhiều cách phản ứng khác nhau cho cùng một hành vi.• Lớp A có hành vi M().• Lớp B là con của lớp A, trong lớp B viết lại hành vi M().• Có biến đối tượng obj.• Tại thời điểm t1: obj chỉ đến một thực thể A. obj.M() sẽ cho một phản ứng.• Tại thời điểm t2: obj chỉ đến một thực thể B. obj.M() sẽ cho một phản ứng khác.• Tính đa hình có được l ...

Tài liệu được xem nhiều: