TAILIEUCHUNG - Bài giảng Lập trình hướng đối tượng: Chương 4 - Trần Thị Huế

Chương 4 - Kế thừa. Những nội dung chính được trình bày trong chương này: Vấn đề sử dụng lại, sử dụng lại bằng kế thừa, kế thừa trong java: định nghĩa lớp kế thừa, thêm phương thức, thuộc tính, kiểm soát truy cập, constructor. . | Kế thừa Nội dung Vấn đề sử dụng lại Sử dụng lại bằng kế thừa Kế thừa trong Java định nghĩa lớp kế thừa thêm phương thức, thuộc tính kiểm soát truy cập constructor Tài liệu tham khảo Thinking in Java, chapter 6 Java how to program, chapter 9 Sử dụng lại Tồn tại nhiều loại đối tượng có các thuộc tính và hành vi tương tự hoặc liên quan đến nhau Person, Student, Manager, Xuất hiện nhu cầu sử dụng lại các mã nguồn đã viết Sử dụng lại thông qua copy Sử dụng lại thông qua quan hệ has_a Sử dụng lại thông qua cơ chế “kế thừa” Sử dụng lại Copy mã nguồn Tốn công, dễ nhầm Khó sửa lỗi do tồn tại nhiều phiên bản Quan hệ has_a Sử dụng lớp cũ như là thành phần của lớp mới Sử dụng lại cài đặt với giao diện mới Phải viết lại giao diện Chưa đủ mềm dẻo Ví dụ: has_a class Person { private String name; private Date birthday; public String getName() { return name; } . } class Employee { private Person me; private double salary; public String getName() { return (); } . } class Manager { private Employee me; private Employee assistant; public setAssistant(Employee e) {.} . } . Manager junior = new Manager(); Manager senior = new Manager(); (junior); // error Kế thừa Dựa trên quan hệ is_a Thừa hưởng lại các thuộc tính và phương thức đã có Chi tiết hóa cho phù hợp với mục đích sử dụng mới Thêm các thuộc tính mới Thêm hoặc hiệu chỉnh các phương thức Thuật ngữ Kế thừa Lớp cơ sở, lớp cha Lớp dẫn xuất, lớp con Kế thừa trong Java [public] class DerivedClass extends BaseClass { /* new features goes here */ } Ví dụ: class Employee extends Person { private double salary; public boolean setSalary(double sal) { . salary = sal; return true; } } Employee e = new Employee(); ("John"); (); Person -name -birthday +setName() +setBirthday() Employee -salary +setSalary() +getDetail() private members class Employee extends Person { . public String getDetail() { String s; // s = name + "," + birthday; s =

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.