Có thể cho phương thức a.doStuff() để in "B đã làm" mà không chỉnh sửa lớp A không? Nếu vậy, tôi sẽ làm như thế nào?Gọi phương thức lớp con từ cha mẹ
class Program
{
static void Main(string[] args)
{
A a = new A();
B b = new B();
a.doStuff();
b.doStuff();
Console.ReadLine();
}
}
class A
{
public void doStuff()
{
Console.WriteLine("A did stuff");
}
}
class B : A
{
public void doStuff()
{
Console.WriteLine("B did stuff");
}
}
Tôi đang điều chỉnh trò chơi hơi nước, Terraria. Và tôi không muốn dịch ngược và biên dịch lại tất cả bởi vì nó sẽ vặn với hơi nước. Chương trình của tôi 'tiêm' vào Terraria qua XNA. Tôi có thể sử dụng các phương thức update() và draw() từ XNA để mod một số thứ. Nhưng nó khá hạn chế. Tôi không thể ghi đè lên các phương thức cơ bản để mod nhiều thứ hơn (ví dụ worldgen).
Vì A.doStuff chỉ ở đó để được ghi đè, nó phải trừu tượng hơn là ảo. –