Nếu tôi có các lớp học A, B, C, D, E
, và giao diện như X, Y, Z
, và mô hình hóa một hệ thống như:cấp phát bộ nhớ cho một lớp học có thừa kế sâu trong .NET
class B : A, X
class C : B, Y
class D : C, Z
class E : D
Nếu A
là một lớp cơ sở trừu tượng và E là lớp học quan tâm, khi tôi tạo ra một thể hiện của E, nó sẽ lần lượt tạo ra các trường hợp của A, B, C, D, X, Y, Z
ngoài E
?
Nếu trường hợp đó xảy ra, điều này có tạo ra chi phí hiệu năng lớn không? Không phải bộ nhớ, nhưng thời gian chạy và GC khôn ngoan.
Xin lỗi, nhưng không có trường hợp nào được tạo bởi thừa kế! – AxelEckenberger
@ Obalix, lưu ý các dấu ngoặc kép xung quanh được nhúng. Nhưng có, cuối cùng chỉ có 1 trường hợp liên quan. –
Cảm ơn Henk, vì vậy trong trường hợp đó, ví dụ nếu bạn đã hợp nhất các lớp này thành một lớp đơn không thừa kế, liệu chúng có giống nhau về mặt bộ nhớ, GC và hiệu suất thời gian chạy không? –