2013-06-07 31 views
5

Tôi có hai câu hỏi thực sự. Tôi đang cố gắng để có được một xử lý về cách thức hoạt động thừa kế.những gì phải được thực hiện từ một lớp trừu tượng trong java?

Nếu tôi có lớp trừu tượng để kế thừa và có phương thức không được gắn nhãn trừu tượng thì phương pháp này vẫn cần được triển khai trong lớp con?

Nếu tôi có một lớp con kế thừa từ một lớp con khác, sau đó kế thừa từ một lớp trừu tượng, thì lớp con thấp nhất có cần triển khai thực hiện các phương thức trong lớp trừu tượng không? Hoặc bởi vì các phương thức đã được thực hiện trong lớp con ở giữa, chúng không cần phải được thực hiện lại?

Cảm ơn bạn!

+0

No. No. Có. :) –

Trả lời

13

Lớp trừu tượng là lớp được khai báo trừu tượng. Nó có thể hoặc không thể bao gồm các phương pháp trừu tượng. Các lớp trừu tượng không thể được khởi tạo, nhưng chúng có thể được phân lớp.

Một phương pháp trừu tượng là một phương pháp đó là tuyên bố mà không có một thực hiện (không có dấu ngoặc, và tiếp theo là một dấu chấm phẩy), như thế này:

abstract void moveTo(double deltaX, double deltaY); 

Nếu một lớp bao gồm các phương pháp trừu tượng, lớp mình phải được khai báo trừu tượng, như:

public abstract class GraphicObject { 
    // declare fields 
    // declare non-abstract methods 
    abstract void draw(); 
} 

Khi lớp trừu tượng được phân lớp, phân lớp thường cung cấp triển khai cho tất cả các phương thức trừu tượng trong lớp cha. Tuy nhiên, nếu không, các lớp con cũng phải được khai báo trừu tượng

1
  1. Nếu phương pháp này không phải là trừu tượng nó đã được thực hiện rồi, khi bạn phân lớp lớp trừu tượng bạn kế thừa việc thực hiện phương pháp, tái triển khai nó sẽ là ghi đè nó. Nếu phương thức đã được khai báo trừu tượng, bạn phải triển khai hoặc nhận lỗi biên dịch nếu lớp con cũng không được khai báo trừu tượng.
  2. Nếu bạn đang kế thừa từ một lớp học A extends AbstractClass không phải là trừu tượng thì A phải đã triển khai bất kỳ phương pháp trừu tượng hoặc biên dịch lại nào. Nếu nó không thực hiện bất kỳ lớp trừu tượng nào thì A cũng phải trừu tượng và có trách nhiệm thực hiện các phương thức trừu tượng thuộc các lớp con của A. Bất kỳ sublcassers nào không thực hiện phương thức cũng phải được khai báo trừu tượng cho đến cuối cùng một lớp con triển khai thực hiện nó.
Các vấn đề liên quan