Tôi có hệ thống phân cấp hoạt động này và chương trình chạy như mong đợi. Về cơ bản tôi đã tóm tắt tất cả mọi thứ trong một lớp cơ sở và tất cả các phân lớp khác thêm phương pháp riêng của họ.Mẫu thiết kế có thể áp dụng
abstract Class Base{
}
class A extends Base{
//new methods
}
class B extends Base{
//new methods
}
tất cả mọi thứ có vẻ tốt cho đến sau này (errr ... yêu cầu mới) Tôi nhận ra tôi cần phải có một lớp mới (cho phép gọi lớp này C) kéo dài cả lớp A và B. Bây giờ, trong java của nó không thể mở rộng hai lớp bê tông.
class C extends A, B{
//new methods
}
Tôi cần cả hai phương pháp và biến trong lớp A và lớp B nhưng tôi không biết cách thực hiện việc này? Bất kỳ gợi ý nào về cách thực hiện thay đổi này? Tôi không giỏi về mẫu thiết kế vì vậy tôi đã nghĩ đến việc hỏi nó ở đây.
Cảm ơn
CẬP NHẬT Đây thực sự là một JSF Managed Bean trong đó tôi trừu tượng hóa mọi thứ trong một cơ sở Managed Bean và tất cả các trọng lớp con khác/thêm hiện thực của riêng họ trên đầu trang của các cơ sở quản lý đậu. Có chỉ là một yêu cầu mới đã được thêm vào trong đó tôi cần các chức năng của cả lớp con (A và B) vào một lớp con mới (C)
Thật khó để nói mà không cần biết thêm chi tiết về các lớp học, nhưng có vẻ như bạn nên làm tốt hơn với thiết kế dựa trên thành phần. –
Bạn cần phương pháp, nhưng là mối quan hệ 'C là A và B' cần thiết? Bạn có thể sử dụng bố cục nhưng bài đăng của bạn cần thêm thông tin để biết liệu điều này có phù hợp không. –
Yeh xem xét thành phần và có 'C' chứa các thể hiện của' A' và 'B'. –