خرید بک لینک

با سلام...

بنده دارم کتاب دیتل رو میخوونم ...

در جایی گفته شده برای ایجاد متدی که بشود آن متد را تعریف دوباره کرد ، باید اوون رو Virtual یا Abstract تعریف کرد ...

در یکی دو فصل بعد در مبحث چندریختی (Polymorphism ) کلاسی از نوع انتزاعی ( Abstract ) ایجاد کرده ، در آن کلاس متدی ایجاد کرده که قصد تعریف دوباره ی ان را در اینده دارد...

آن متد رو از نوع Abstract ایجاد کرده ، حالا سوال من اینه که چرا آن متد را Virtual تعریف نکرد ؟؟؟

و اصلا چه تفاوتی بین متد Virtual و Abstract وجوود دارد ؟؟؟

کد آن کلاس را هم در پایین میگذارم...

با تشکر

// Employee abstract base class.
public abstract class Employee
{
// read-only property that gets employee's first name
public string FirstName { get; private set; }

// read-only property that gets employee's last name
public string LastName { get; private set; }

// read-only property that gets employee's social security number
public string SocialSecurityNumber { get; private set; }

// three-parameter constructor
public Employee( string first, string last, string ssn )
{
FirstName = first;
LastName = last;
SocialSecurityNumber = ssn;
} // end three-parameter Employee constructor

// retu string representation of Employee object, using properties
public override string ToString()
{
retu string.Format( "{0} {1}nsocial security number: {2}",
FirstName, LastName, SocialSecurityNumber );
} // end method ToString

// abstract method overridden by derived classes
public abstract decimal Eaings(); // no implementation here
} // end abstract class Employee

- - , .

برچسب: نویسنده: محمد رضا جوادیان تاريخ: شنبه 8 اسفند 1394 ساعت: 21:56

صفحه بندی