💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ حمیدرضا جلیلی
abstract field
جامعه ASP.NET ایجاد شده در ۱۳ دی ۱۴۰۱

سلام ممنون میشم راهنمایی بفرمایید:

1- چرا فیلد bank به صورت abstract تعریف شده ولی Amount خیر؟

 public decimal Amount { get; set; }

    public abstract string bank { get; }

سلام،

Amount یک پراپرتی در نظر گرفته شده که در زمان ساخت آبجکت، setter صدا زده میشه و مقدار دهی میشه. این موضوع براساس ویدیوهایی که از قبل دیده بودین.

پراپرتی bank داخل کلاس‌ها override میشه و براساس هر کلاس یک مقداری داخلش قرار میگیره. زمانیکه که مقدار پیش فرضی برای property ندارید و باید براساس subclass‌ها مقداردهی بشه و مقدارش براساس هر subclass یک مقدارمتفاوتیه از abstract میشه استفاده کرد. یه وقتیم هست مقدار پیشفرض واسه پراپرتی در نظر میگیری ولی میخواید subclass‌ها هم بتونن override کنن(hide نشن) میتونید از virtual استفاده کنید. اگر هم نمیخواید override بشه از virtual و abstract استفاده نمیکنید.

public class Car
{
    // Manufacturer is a read-only property - only a get accessor is needed:
    public abstract string Manufacturer { get; }
}
public class IranKhodro : Car
{
    public override string Manufacturer
    {
         get 
         {
             return "Peugeot";
         }
    }
}
public class Saipa : Car
{
    public override string Manufacturer
    {
         get 
         {
             return "Pride";
         }
    }
}
بهترین پاسخ
محسن موحد ۱۳ دی ۱۴۰۱، ۱۷:۳۲