Trong C#, có thể đánh dấu một phương thức ảo được ghi đè là cuối cùng để người thực thi không thể ghi đè lên nó? Tôi sẽ làm như thế nào?có thể đánh dấu phương thức ghi đè là
Một ví dụ có thể làm cho nó dễ dàng hơn để hiểu:
class A
{
abstract void DoAction();
}
class B : A
{
override void DoAction()
{
// Implements action in a way that it doesn't make
// sense for children to override, e.g. by setting private state
// later operations depend on
}
}
class C: B
{
// This would be a bug
override void DoAction() { }
}
Có cách nào để sửa đổi B để ngăn chặn những đứa trẻ khác C từ trọng DoAction, hoặc tại thời gian biên dịch hoặc thời gian chạy?
bạn có thể làm cho các phương pháp riêng được niêm phong trên thực tế – annakata
tại sao bạn đánh dấu lớp là bị niêm phong? Bạn có thể chỉ định công cụ sửa đổi này ở cấp phương thức ... –
Thú vị tôi chưa bao giờ biết bạn có thể đóng dấu các phương thức tuy nhiên tôi chưa bao giờ có lý do. –