PDA

View Full Version : نوع متد در صورت عدم درج کلمه کلیدی virtual



میلاد قاضی پور
چهارشنبه 07 مهر 1389, 17:44 عصر
سلام . در صورتی که کلمه کلیدی virtual در تعریف متد ذکر نشه آیا متد به صورت پیش فرض ویرچوال تلقی میشه یا نه ؟

k1csharpdeveloper
چهارشنبه 07 مهر 1389, 17:52 عصر
سلام . در صورتی که کلمه کلیدی virtual در تعریف متد ذکر نشه آیا متد به صورت پیش فرض ویرچوال تلقی میشه یا نه ؟
خیر باید حتما ذکر بشه برای بیشتر درک کردن یکسری پروژه در این رابطه دارم امیدوارم مفید و مورد تشکر واقع بشه:چشمک:

mmd2009
چهارشنبه 07 مهر 1389, 17:57 عصر
با سلام.

نه دیگه اون موقع میشه غیر مجازی.

خوندن لینک زیر خالی از لطف نیست

Virtual methods (http://msdn.microsoft.com/en-us/library/aa645767%28v=vs.71%29.aspx)

flash118
چهارشنبه 07 مهر 1389, 21:23 عصر
البته اگه نوع کلاستون انتزاعی تعریف کنید خود به خود مجازی میشه ولی همانطور که میدونید نمی شه ازش شی جدید ساخت یعنی ارث بری نمی شه

علیرضا مداح
چهارشنبه 07 مهر 1389, 21:38 عصر
سلام،

البته اگه نوع کلاستون انتزاعی تعریف کنید خود به خود مجازی میشه
خیر، اشتباه است، برای اینکه متدی virtual باشد، حتما" باید توسط virtual keyword مشخص شود،/

میلاد قاضی پور
چهارشنبه 07 مهر 1389, 22:31 عصر
سلام،

خیر، اشتباه است، برای اینکه متدی virtual باشد، حتما" باید توسط virtual keyword مشخص شود،/
اونطور که من خوندم توابع کلاسهای انتزاعی به صورت پیش فرض مجازی هستند و نمیشه در موردشون از کلمه 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