سلام . در صورتی که کلمه کلیدی virtual در تعریف متد ذکر نشه آیا متد به صورت پیش فرض ویرچوال تلقی میشه یا نه ؟
سلام . در صورتی که کلمه کلیدی virtual در تعریف متد ذکر نشه آیا متد به صورت پیش فرض ویرچوال تلقی میشه یا نه ؟
با سلام.
نه دیگه اون موقع میشه غیر مجازی.
خوندن لینک زیر خالی از لطف نیست
Virtual methods
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
البته اگه نوع کلاستون انتزاعی تعریف کنید خود به خود مجازی میشه ولی همانطور که میدونید نمی شه ازش شی جدید ساخت یعنی ارث بری نمی شه
سلام،
خیر، اشتباه است، برای اینکه متدی virtual باشد، حتما" باید توسط virtual keyword مشخص شود،/البته اگه نوع کلاستون انتزاعی تعریف کنید خود به خود مجازی میشه
I've just started tweeting!
@Alireza_Maddah
اونطور که من خوندم توابع کلاسهای انتزاعی به صورت پیش فرض مجازی هستند و نمیشه در موردشون از کلمه virtual استفاده کرد چون به خطا میخوره . کتاب C# 2008
Abstract Classes and Functions
C# allows both classes and functions to be declared as abstract. An abstract class cannot be instantiated,
whereas an abstract function does not have an implementation, and must be overridden in any non -
abstract derived class. Obviously, an abstract function is automatically virtual (although you don ’ t need
to supply the virtual keyword; doing so results in a syntax error). If any class contains any abstract
functions, that class is also abstract and must be declared as such:
abstract class Building
{
public abstract decimal CalculateHeatingCost(); // abstract method