Giáo trình Java P5

30 487 0
Tài liệu đã được kiểm tra trùng lặp
Giáo trình Java P5

Đ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 Kế thừa 2 NguyễnViệtHà 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  Lớp Object Kế thừa 3 NguyễnViệtHà Tài liệu tham khảo  Thinking in Java, chapter 6  Java how to program, chapter 9 Kế thừa 4 NguyễnViệtHà Sử dụng lại  Tồntại nhiềuloại đốitượ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ấthiện nhu cầusử dụng lạicácmã 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” Kế thừa 5 NguyễnViệtHà Sử dụng lại  Copy mã nguồn  Tốn công, dễ nhầm  Khó sửalỗi do tồntại nhiều phiên bản  Quan hệ has_a  Sử dụng lớpcũ như là thành phầncủalớp mới  Sử dụng lạicàiđặtvớigiaodiệnmới  Phảiviếtlạigiaodiện  Chưa đủ mềm dẻo Kế thừa 6 NguyễnViệtHà Ví dụ: has_a class Person { private String name; private Date bithday; public String getName() { return name; } . } class Employee { private Person me; private double salary; public String getName() { return me.getName(); } . } Kế thừa 7 NguyễnViệtHà class Manager { private Employee me; private Employee assistant; public setAssistant(Employee e) { .} . } . Manager junior = new Manager(); Manager senior = new Manager(); senior.setAssistant(junior); // error Kế thừa 8 NguyễnViệtHà Kế thừa  Dựa trên quan hệ is_a  Thừahưởng lạicácthuộctínhvàphương thức đãcó  Chi tiết hóa cho phù hợpvớimục đích sử dụng mới  Thêm các thuộc tính mới  Thêm hoặchiệuchỉnh các phương thức Kế thừa 9 NguyễnViệtHà Thuậtngữ  Kế thừa  Lớpcơ sở, lớp cha  Lớpdẫnxuất, lớp con Kế thừa 10 NguyễnViệtHà 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; } } . Lớp Object Kế thừa 3 NguyễnViệtHà Tài liệu tham khảo  Thinking in Java, chapter 6  Java how to program, chapter 9 Kế thừa 4 NguyễnViệtHà Sử dụng lại. NguyễnViệtHà 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

Ngày đăng: 19/10/2013, 11:15

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

Tài liệu liên quan