Tôi mới tham gia và tôi tự hỏi làm thế nào tôi có thể triển khai một cấu trúc tương tự như các lớp trừu tượng & các phương thức trong Java. Trong Java, tôi muốn làm như sau:Tương đương với các lớp/phương thức trừu tượng (Java) trong Google Go
abstract class A{
static method1(){
...
method2();
...
}
abstract method2();
}
class B extends A{
method2(){
...
}
}
class C extends A{
method2(){
...
}
}
tôi biết về giao diện và cấu trúc. Tôi có thể xây dựng một giao diện và sau đó một cấu trúc để thực hiện phương thức1. Nhưng còn phương pháp 2 thì sao? Tôi biết rằng tôi có thể nhúng một giao diện vào một giao diện khác và cũng là một cấu trúc như một trường của cấu trúc khác. Nhưng tôi không thấy một cách để thực hiện cấu trúc của tôi với những phương pháp đó.
Giải pháp duy nhất tôi thấy là triển khai method1 cả ở lớp B và lớp C. Không có cách nào khác?
Lưu ý: tất nhiên trong trường hợp của tôi, đó không chỉ là một phương pháp. Tôi cũng có một hệ thống phân cấp các lớp trừu tượng và không thực sự muốn di chuyển mọi thứ xuống 'lớp con'.
Các ví dụ tôi đã tìm thấy trên internet chủ yếu chỉ với một phương thức cho mỗi giao diện. Nó sẽ là tuyệt vời nếu một trong các bạn có thể cho tôi một gợi ý ở đây! Cảm ơn.
Giống như câu trả lời này và muốn thêm vào, nếu bạn cần có giao diện cấu trúc, giống như lớp trừu tượng, bạn có thể sử dụng nguyên tắc giống như @ANisus đã viết, nhưng thêm các phương thức getters. Vì vậy, bạn có thể gọi các tham số cấu trúc như '' 'Model.getName''' trong đó cấu trúc chính xác' '' Model''' giải quyết một số giao diện mà bạn đã tạo. – Altenrion