پاسخ تمرین های فصل : آشنایی بیشتر با مفهوم شی
زیر فصل: مثال هایی برای آشنایی بیشتر با ساخت شی
-
محصولی جدید با قیمت 5 میلیون تومان و 10 درصد تخفیف برای tablet تعریف کنید. با استفاده از متد WriteProductInfo مشخصات آن را نمایش دهید.
Product tablet = new Product("Tablet", 5_000_000, 10);
tablet.WriteProductInfo(); -
یک پراپرتی استاتیک برای ذخیرۀ بزرگترین قیمت به کلاس Product اضافه کنید. (راهنمایی: پراپرتی استاتیک MaxPrice را تعریف کنید و در سازندهای که سه پارامتر ورودی دریافت میکند، بررسی کنید که اگر مقدار محصول فعلی از مقدار MaxPrice بیشتر باشد، مقدار MaxPrice را برابر با این مقدار کند و در غیر این صورت به کار خاصی نیاز نیست).
public class Product
{
private byte _discountPercentage;
public static int Counter { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public byte DiscountPercentage
{
get
{
return _discountPercentage;
}
set
{
_discountPercentage = (value > 100 ? (byte)100 : value);
}
}
public static int MaxPrice { get; set; } = 0;
public Product(string name, int price, byte discountPercentage)
{
Name = name;
Price = price;
DiscountPercentage = discountPercentage;
++Counter;
// بررسی و به روز رسانی MaxPrice
if (Price > MaxPrice)
{
MaxPrice = Price;
}
}
public Product(string name, int price) : this(name, price, 0)
{
}
private int GetDiscountedPrice()
{
return Price * (100 - DiscountPercentage) / 100;
}
public void WriteProductInfo()
{
int discountedPrice = GetDiscountedPrice();
Console.WriteLine($"{Name} Price is {discountedPrice} after Discount");
}
}