Hãy nói rằng tôi có một giao diện:Loại kiểm tra và Generics
interface Comparable<T> {
equals(other:T):boolean
}
Mà sau đó tôi thực hiện ở một số lớp học:
class Rectangle implements Comparable<Rectangle> {
equals(other:Rectangle):boolean {
// logic
return true;
}
}
class Circle implements Comparable<Circle> {
equals(other:Circle):boolean {
// logic
return true;
}
}
Tại sao nguyên cảo cho phép so sánh hình chữ nhật và hình tròn?
let circle:Circle = new Circle();
let rectangle:Rectangle = new Rectangle();
console.log(circle.equals(rectangle));
không nên nó cảnh báo với tôi rằng tôi cung cấp loại không phù hợp với vòng tròn của bằng phương pháp?