More Related Content More from Mohammad Amin Amjadi
More from Mohammad Amin Amjadi (15) Amjadi - Ebook 7 - Class - v12. بخشهفتمنویسی برنامهC#1
شما به البته (که ! بنویسیم برنامه یک فروشگاه یک برای بخواهیم کنید فرض ، شدیم نویسی برنامه اصلی مبحث وارد تازه ، خب
خیال ، بنویسید دهند نمی) ! باشه راحت تون
. نمائیم ذخیره را شده فروخته تعداد و فروش قیمت ، خرید قیمت ، کاال نام باید ، بنویسیم خواهیم می که ای ساده فروشگاه این در
: کنیم تعریف را زیر های متغییر باید اطالعات ذخیره برای پس
using System;
namespace Test_1
{
class Program
{
static void Main(string[] args)
{
int Tedad = Convert.ToInt32(Console.ReadLine());
string[] Name = new string[Tedad];
double[] Kharid = new double[Tedad];
double[] Forush = new double[Tedad];
Int64[] TeFo = new Int64[Tedad];
}
}
}
فروشگاه اطالعات
•ها کاال نام
•کاال هر خرید قیمت
•کاال هر فروش قیمت
•کاال هر از رفته فروش تعداد
کاال نوع هر از اجناس تعدادTedad
کاالها نامName
کاال هر خرید قیمتKharid
کاال هر فروش قیمتForush
کاال هر رفته فروش تعدادTeFo
3. بخشهفتمنویسی برنامهC#2
: هستند زیر شکل به ها آرایه که باشید داشته توجه حال
Tedad-1Tedad-2کاالیiام3210i
کاالی نامiامName
کاالی خرید قیمتiامKharid
کاالی فروش قیمتiامForush
کاالی فروش تعدادiامTeFo
خانه که باشید داشته دقت پسiکاالی به مربوط ها آرایه تمام امi. بوده
را زیر متد ، کنیم دریافت را کاالها تمام اطالعات ، خواهیم می حالباالMain: نویسیم می
static void ReadKala(string[] N, double[] Kh , double[] F , Int64[] TF)
{
for(int i = 0 ; i < N.Length ; i++)
{
N[i] = Console.ReadLine();
Kh[i] = Convert.ToDouble(Console.ReadLine());
F[i] = Convert.ToDouble(Console.ReadLine());
TF[i] = Convert.ToInt64(Console.ReadLine());
}
}
متد یک این که باشید داشته توجهstaticبه ربطی هیچ آن ورودی های آرگومان و ، )اینجا هرچیزی(در از مستقل و است
داخل متغییرهایMainندارد دیگر متدهای سایر و.
داخل ، کنیم استفاده متد این از خواهیم می حالMain: کنیم می اضافه را زیر کد
ReadKala(Name, Kharid, Forush, TeFo);
داخل متغییرهای که باشید داشته توجهMainمتد ورودی ها آرگومان به راReadKala: ایم نموده پاس
static void ReadKala(string[] N, double[] Kh , double[] F , Int64[] TF)
ReadKala(Name, Kharid, Forush, TeFo);
4. بخشهفتمنویسی برنامهC#3
خواهیم می حالمتد که است کافی ، نماید محاسبه را فروشگاه در شده فروخته کاالهای کل تعداد که بنویسیم متدی،فروش تعداد
: نماید جمع هم با را همگی و گرفته را کاالها تمام
static Int64 TedadeForush(Int64[] TF)
{
Int64 r = 0;
for (int i = 0; i < TF.Length; i++)
{
r += TF[i];
}
return r;
}
داخل حال وMain: نویسیم می
Console.WriteLine(TedadeForush(TeFo));
را سود باید چگونه خب ؛ نمائیم محاسبه را سود مقدار خواهیم می فروشنده برای حال؟ نمود محاسبه
فروخته اجناس تعداد در را حاصل سپس و نموده محاسبه کاال آن از جنس یک فقط فروش برای را فروش سود کاال هر برای ابتدا
شود می که آوریم می بدست را کاالها تمام سود مجموع سپس ، کاال یک از سودفروش شود می این که نموده کاال آن از شده
. فروشنده سود
static Int64 Soud(double[] Kh, double[] F, Int64[] TF)
{
Int64 r = 0;
for (int i = 0; i < Kh.Length; i++)
{
r = (Int64)(F[i] - Kh[i]) * TF[i];
}
return r;
}
داخ کهلMain: نویسیم می
Console.WriteLine(Soud(Kharid, Forush, TeFo));
در کامل بصورت را کد این شما حاال ، خبVisualStudio. نموده اجرا آنرا و شده مسلط آن قسمت قسمت بر و ، نوشته
خیل های ویژگی دارای هم کاالها و ، باشیم داشته فروشگاه چندین باشد قرار کنید فرض حال... و اند بیشتری خیلی ی
؟ است .... و خوانا کدنویسی روش این بنظرتان آیا
که طور همان ما که کنید فرضint،doubleنام به تایپی ، داریم ... وKalaقیمت ، نام دارای خود کاالیی هر که باشیم داشته
!؟ نه ، شود می چی وای ، باشد فروش تعداد و فروش قیمت ، خرید
کاال
•نام
•خرید قیمت
•فروش قیمت
•فروش تعداد
5. بخشهفتمنویسی برنامهC#4
، خبباالی ، کاال تعریف برایMainنام به کالس یکKala: کنیم می تعریف
class Kala
{
public string Name;
public double Kharid;
public double Forush;
public Int64 TeFo;
}
بعد به حاال ازKalaییا خرید قیمت که کنیم تعریف را َسلَم نام به کاالیی ًالمث خواهیم می حاال خب ؛ شود می محسوب تایپ ک
آن تولید52آن فروش قیمت و بوده تومان522که باشد می تومن4: ! میخرند میرن خوش و بیکار آدم تا
Kala k = new Kala();
k.Name = "Malas !";
k.Kharid = 25;
k.Forush = 250;
k.TeFo = 4;
بر عالوه فروشگاه یک برای خب ، بنویسیم کاال از استفاده با بودیم نوشته ها آرایه با کال که را قبال برنامه همان خواهیم می حاال
کاال از آرایه یک به !؟ داریم نیاز چی به کیشمیش و نخودنویسیم می پس ؛ ؟ نه ، ها:
static void Main(string[] args)
{
int Tedad = Convert.ToInt32(Console.ReadLine());
Kala[] k = new Kala[Tedad];
ReadKala(k);
Console.WriteLine(TedadeForush(k));
Console.WriteLine(Soud(k));
}
باالی ، گیرند می کاالها از آرایه یک هرکدام که شکل بدین ، کنیم می بازنویسی هم را قبلی متدهای ّاما وMain: نویسیم می
static void ReadKala(Kala[] Ka)
{
for (int i = 0; i < Ka.Length; i++)
{
//********** new Ka[i] : ********************
//******* Don't Forget
Ka[i] = new Kala();
//Read Ka[i]
Ka[i].Name = Console.ReadLine();
Ka[i].Kharid = Convert.ToDouble(Console.ReadLine());
Ka[i].Forush = Convert.ToDouble(Console.ReadLine());
Ka[i].TeFo = Convert.ToInt64(Console.ReadLine());
}
}
که باشید داشته توجهKaاز آرایه یکKalaپس ، بوده هاka[i]نوع از که ای شی هر و ، باشد می کاال یک خودclass
را آن ًاحتم ابتدا باید ، کنیم کار آن با بخواهیم و داریمnew. کنیم
static Int64 TedadeForush(Kala[] Ka)
{
Int64 r = 0;
for (int i = 0; i < Ka.Length; i++)
{
r += Ka[i].TeFo;
}
return r;
}
6. بخشهفتمنویسی برنامهC#5
static Int64 Soud(Kala[] ka)
{
Int64 r = 0;
for (int i = 0; i < ka.Length; i++)
{
r = (Int64)(ka[i].Forush - ka[i].Kharid) * ka[i].TeFo;
}
return r;
}
: نکات
1.یک نوع از متغییر یک که وقتیclassآنرا حتما باید ، کنیم می تعریفnewآن با سپس و نمائیم: کنیم کار
Kala k = new Kala();
5.نوع از آرایه یک که وقتیclassای، داریمرا آرایه آن ابتدا بایدnew: کنیم
Kala[] k = new Kala[Tedad];
های خانه از کدام هر باز ویک خود آرایهkalaرا ها آن تک تک ، )یک (نکته قبلی نکته براساس باید پس ، هستند
new: نمود
for (int i = 0; i < k.Length; i++ )
{
k[i] = new Kala();
}
3.هنگام به که باشید داشته توجهnewاز آرایه نمودن[]هنگام به وnewاز کالسمان نوع از ای شی نمودن()استفاده
. نموده
: فیلد
در که هستند متغییرها همانند ، ها فیلدclass. بوده اطالعات سازی ذخیره محل و شده نوشته
فوق مثال درName،Kharid،ForushوTeFoکالس فیلدهایKala. شوند می محسوب
: دسترسی سطوح(شده قرمز های قسمتآموخت خواهید گرا شی درس در را)
، سازنده ، (فیلد کالس عناصر و اعضامخرب، متد ، ایندکسر ، پراپرتی ،عملگرهاورویدادهادار توانند می )س ایطوح
دسترسیprivate،publicوprotected. باشند
بصورت کالس از عضوی اگرprivateآن به کالس خود داخل فقط و فقط ، شود تعریفاز خارج در و داریم دسترسی
و ها کالس سایر (در کالسMain. داشت نخواهیم دسترسی آنها به ).... و
آن دسترسی سطح ، ننمائیم مشخص را دسترسی سطح کالس از عضوی برای اگرprivate. بود خواهد
، باشد دسترس در و شده شناخته جا همه کالس از عضوی بخواهیم اگربایدpublicتعرباشد شده یف.
سط دارای نیز کالس خودو( است دسترسی حprivate،protected،internalوpublic)
7. بخشهفتمنویسی برنامهC#6
Staticوnon-static:
توانند می کالس عناصر و اعضاstaticیاnon-static. باشند
عناصر و اعضاstaticخود از باید آنها به دسترسی برای و بوده کالس خود به مربوط ،: نمود استفاده کالس
class MyMath
{
public readonly static double PI = 3.14;
}
static void Main(string[] args)
{
Console.WriteLine(MyMath.PI);
}
فیلد به دسترسی برای ، بینید می که طور همانstatic،PIکالس ازMyMathداخل ،Mainوسپس کالس نام ابتدا
. نوشته را فیلد نام
Readonlyباشد نمی پیشرفته درس به مربوط(شود نمی گفته هم گرا شی دربرای :خواند فقطناستف بودن یشود می اده)
عناصر و اعضاnon-staticآنها به تعریف هنگام در که ،staticندهی نسبت رابوده کالس نوع از ای شی به مربوط ، م
: نمائیم استفاده کالس نوع از ای شی از باید آنها از استفاده برای و
class MyMath
{
public readonly double PI = 3.14;
}
static void Main(string[] args)
{
MyMath m = new MyMath();
Console.WriteLine(m.PI);
}
فیلد ، فوق کد درPIکالس ازMyMathکهnon-static(غیرstaticدر آن از اینکه برای ، باشد می )Mainهرجای یا
موج شی از نموده(یا تعریف را شی یک ابتدا باید ، نمائیم استفاده کالس از خارج در دیگریس و شی نام ، )نموده استفاده ودپس
. نوشته را )نباشد استاتیک که عضوی (هر فیلد نام باید
: سازنده
آنرا ابتدا باید کالسمان نوع ای شی هر از استفاده برایnewنمودهفراخوانی را کالس سازنده داریم واقع در کار این با که ،
فی به اولیه مقداردهی و حافظه تخصیص و کنیم می. دهیم می انجام را لدها
. باشد کالس نام هم حتما باید و ندارد خروجی که است متد همانند سازنده
نیست درست لفظ این دقیقا (البته گوئیم می فرض پیش سازنده ، ندارد ای ورودی آرگومان هیچ که ای سازنده به!. )
س از باید ، ایم ننوشته ای سازنده هیچ خود کالس برای که زمانی. نمود استفاده فرض پیش ازنده
آرگومان فرض(بدون پیش سازنده و نمود استفاده فرض پیش سازنده از توان نمی بنویسیم ای سازنده کالسمان برای اگر
. بنویسیم باید خودمان را )ورودی
ی تعداد در آنکه به منوط بنویسیم کالسمان برای سازنده چندین ، نام هم متدهای همانند توانیم میهای آرگومان نوع ا
. باشند متفاوت یکدیگر با ورودی
8. بخشهفتمنویسی برنامهC#7
برای: نویسیم می سازنده چندین خود کالس
public Kala()
{
TeFo = 0;
}
public Kala(string Name , double Kharid , double Forush)
{
this.Name = Name;
this.Kharid = Kharid;
this.Forush = Forush;
TeFo = 0;
}
public Kala(string Name , double Kharid , double Forush , Int64 TeFo)
{
this.Name = Name;
this.Kharid = Kharid;
this.Forush = Forush;
this.TeFo = TeFo;
}
نوشتن برایMainهنگام به سپس و کنیم تعریف کالسمان نوع از متغییری که است کافی ، ها سازنده از کدام هر فراخونی وnew
سازنده ، کنیم می پاس سازنده به آرگومان نوعی چه از و تعداد چه اینکه به بسته ، بدهیم آن به را مناسب های آرگومان کردن
فراخوا مناسبشود می نی:
static void Main(string[] args)
{
Kala k1 = new Kala();
Kala k2 = new Kala("Golabi", 200, 3500);
Kala k3 = new Kala("CheeToz Motoriiieee !", 325, 1500, 1000000);
}
سازنده از استفاده با شود می مشاهده که طور همان1،k1، نموده ایجاد راk1فقط که است کاالییTeFoبرابر و مقداردهی آن
ساز از استفاده با ؛ شده صفرنده5،k2، نموده ایجاد راk2تولید یا خرید قیمت ، گالبی نام با است کاالیی522قیمت و تومان
فروش3222سازنده با همچنین ؛ صفر فروش تعداد و تومان3،k3که نموده ایجاد راk3و ، موتوری توز چی نام به است کاالیی
)تولید(خرید قیمت با352تومانفروش تعداد و1000000مشخص هم تورم و ها گرانی دلیل پس ؛ خرند می بیکار آدم مشت یه که
شکایت توز چی دست از بروید توانید می راحتی همین به ، شد! کنید خدمت خویش کشور به و کنید
یک سازنده
سازندهدو
سازندهسه
یک سازنده فراخوانی
یک سازنده فراخوانی
سه سازنده فراخوانی
9. بخشهفتمنویسی برنامهC#8
خواند خواهید گرا شی درس در را سازنده تکمیلی مباحث سایر.
this:
thisح در که است ای شده رزرو کلمهکالسمان نوع از جاری شی به گفت باید کلی التکهآن در کدنویسی حال در
. کند می اشاره ، هستیم
1.: کالسمان نوع از جاری شی عنوان به
از دیگری عضو یا فیلد با نام هم آنها ورودی های آرگومان که نویسیم می ایندکسر یا سازنده ، متد یک که وقت هر
آن به ، باشد می کالسمان نوعسازنده،متد ورودی آرگومان به بلکه ، نداریم دسترسی دیگر کالسمان از عضو یا فیلد
ایندکسر یا سازنده،متد ورودی آرگومان با نام هم که عنصری یا عضو به بتوان اینکه برای ؛ داریم دسترسی ایندکسر یا
ابتدا داشت دسترسی ، استthis.: نوشته را نظر مورد عضو نام سپس و
class Kala
{
// فیلدها
public string Name;
public double Kharid;
public double Forush;
public Int64 TeFo;
public Kala()
{
TeFo = 0;
}
public Kala(string Name , double Kharid , double Forush)
{
this.Name = Name;
this.Kharid = Kharid;
this.Forush = Forush;
TeFo = 0;
}
public Kala(string Name , double Kharid , double Forush , Int64 TeFo)
{
this.Name = Name;
this.Kharid = Kharid;
this.Forush = Forush;
this.TeFo = TeFo;
}
}
همانم که طوربرای ، دارد وجود تداخل کالس فیلد نام و سازنده ورودی آرگومان بین که جاهایی ، شود می شاهده
از کالس فیلد به دسترسیthis. است شده استفاده
5.برای)گرفت خواهد قرار بررسی مورد بعدا (ایندکسر ایندکسر فراخوانی
فراخوانی را کالس خود ایندکسر ، کالس داخل توان می: ً مثال ؛ نمود
this[i] = new Kala();
Kala f = this[i];
3.سازنده فراخوانیدیگر سازنده یک توسط کالس)شود می گفته گرا شی درس (در
4.شده رزرو ازکلمه باید ایندکسر نوشتن برای : ایندکسر نوشتنthisنمود استفاده.
10. بخشهفتمنویسی برنامهC#9
2.که کالسی نوع از شی یک که ، متد یک به جاری شی کردن پاسآن نوشتن حال درهستیمگیرد می:
public void F1(Kala t) {/* Code */}
public void F2()
{
F1(this);
}
( پراپرتیProperty: )
: سوالجای به و بخرید را کاال یک بروید مثال اینکه ( باشد منفی کاال یک فروش قیمت مثال که درست این شما نظر به آیا
بپردازید ای هزینه اینکه. نمیشه نه خب ولی ، میشه چی بشه اگه که است این داریم که جوابی تنها ؟؟ ) بدهند هم پول شما به
توان می چگونه و چطور که آید می پیش سوال این حال؟ نمود کنترل را کالس فیلدهای
کاربر که صورتی در و سرکاربر پشت بشینید اید نوشته را برنامه که شما که است این جواب تنهانادرس داده، کرد وارد تی
! نیست شما زحمت همه این به نیازی بابا نه ! کنید مهمونش گردنی پشت یه
از استفاده ، ) !بگیرید را آنها جلوی باید و شود می تراوش ذهنتان از که حلی راه هزاران از (جدا دارد وجود که حلی راه
Propertyرا خود فیلد که ، باشد میprivateب و نمودهداخل صورت دینMainدسترسی آن به کالس از خارج هرجایی یا
عنوان به واسط یک و ، نباشدPropertyکه کنیم می تعریفpublic( آن مقدار خواندن موقع و باشدgetرا فیلد مقدار همان )
به دادن مقدار موقع و برگرداندPropertyرا آن بود معتبر جدید مقدار که صورتی درفیلد به: ً مثال ، شود ذخیره تا داده نسبت
یک آن ابتدای به که نام همان برابر را فیلد نام و داده نسبت پراپرتی به را نظر مورد نام (معموال_اس شده اضافه)ت
نکات:
1.پراپرتیقسمت دارای بایدgetیاsetباشد دو هر یا.
5.اگرقسمت ، بخوانیم را پراپرتی مقدارgetقسمت بدهیم مقدار آن به اگر وset. شود می فراخوانی
3.پراپرتیبدون()قسمت در فقط و ، ندارد ورودی آرگومان هیچ و استsetشده رزرو ازکلمه توان میvalueاستفاده
. دهیم می نسبت پراپرتی به داریم که است مقداری حاوی که نمود
4.وقتیکهنوع از مثال پراپرتیdoubleتعریفقسمت در ، شود میgetکه مقداریreturnباید شود میdoubleباشد
در که مقداری همچنین وvalueنوع از داد قرارdouble( استvalueنوع ازdouble. )بوده
2.درقسمتgetحتمابایدیکreturn. باشد خروجی مقدار دارای همیشه و شود اجرا
static void Main()
{
Kala k1 = new Kala();
k1.Forush = 1500;
// Call Forush Property ::
Set :: vale = 1500
double f = k1.Forush;
// Call Forush Property ::
get
}
double _Forush;
public double Forush
{
get
{
return _Forush;
}
set
{
if (value > 0)
_Forush = value;
}
}
private double _Forush;
public double Forush
{
get
{
return _Forush;
}
set
{
if (value > 0)
_Forush = value;
}
}
11. بخشهفتمنویسی برنامهC#11
6.ًالمعموقسمت درgetوsetباقسمت در هم فوق مثال در ًالمث ، کنیم می کار یکسان و خاص فیلد یکgetدر هم و
قسمتsetفیلد با_Forushدلخواهی کد هر توان می و ندارد الزامی هیچ ولی ؛ کنیم می کارنوشت آن درهر با و
( فیلدی، صفرنمود کار )فیلد چند یا یکوقسمت در ًالمث که نمود کار ثبات مقادیر با کال یاgetیک همیشه پراپرتی
ثابت مقدار. برگرداند را
7.ًالمعمویک کالسمان از ای ویژگی و مشخص هر برایًالمث ، نویسیم می پراپرتی( پربودن برای پشته و صف درIsFull، )
(بودن خالیIsEnpty( هستند صف داخل که عناصری تعداد ، )Count(صف طول و )Lengthو ها مشخصه جز که )
. نویسیم می پراپرتی ، است کالسمان های ویژگی
ایندکسر:
ایندکسراست پراپرتی یکآن نام که ،thisداخل که باشد می نیز ورودی آرگومان دارای و بوده[]شوند می تعریف.
فراخوانی: ایندکسرایندکسر فراخوانی برایایندکسر اگر ،staticباشدابتدا بایدناکالس مآن جلوی سپس و[]
داخل و نوشته را[]ورودی های آرگوماننوشته راا وگرnon-staticباشداز کالس نام بجای بایدشی نامکالسمان نوع از ای
. ) باشد می کالسمان نوع از که متغییری (نام نموده استفاده
ًالمعمودر آرایه آن عناصر به دسترسی برای ، داریم آرایه کالسمان در که وقتینویسیم می ایدکسر کالس از خارج.
ازآن نام و است ورودی آرگومان دارای ایندکسر که آنجاthisبرای ، استنوع یا تعداد در باید ایندکسر چند نوشتن
و های آرگومانباشند داشته فرق یکدگیر با رودیکالس برای مثال ؛Kala: نوشت توان می
public double this[bool Kharid]
{
get
{
if (Kharid)//Kharid = true
return this.Kharid;
return Forush;//Kharid = fasle
}
set
{
if (Kharid)//Kharid = true
this.Kharid = value;
else//Kharid = fasle
Forush = value;
}
}
اینورودی آرگومان دارای ایندکسربنام ایKharidفیلد با : (توجه باشد مینام به که یKharidدمی پیش تداخل اریم
آید،بنویسیم جا هر پسKharidهرجا و کنیم می استفاده ایندکسر ورودی آرگومان از داریمبنویسیمthis.Kharidبا داریم
آرگومان این مقدار اگر ، )کنیم می کار کالس فیلدtrueفیلد مقدار ، باشدKharidواگر گرداند برمی یا و کند می دهی مقدار را
آرگومان این مقدارfasleفیلد مقدار باشدForushیا گرداند می بر راآن بهکند می دهی مقدارّاموا ،Main:
static void Main()
{
Kala k1 = new Kala("Adams", 12, 250,465);
k1[true] = 15;//set k1.Kharid : 15
double Fo = k1[false];//get k1.Forush
}
12. بخشهفتمنویسی برنامهC#11
ایندکسرزیرو کند می چکار که کنید بررسی راMain: بنویسید نیز را آن
public double this[Int64 Tedad]
{
get
{
if (Tedad <= 0)
return (Forush - Kharid) * TeFo;
return (Forush - Kharid) * Tedad;
}
}
و: آن ایندکسر و فروشگاه کالس اما
class Shop
{
Kala[] Data;
int _Count;
public Shop(int Size)
{
Data = new Kala[Size];
_Count = 0;
}
public Kala this[int i]
{
get
{
if (i < 0 || i >= _Count)
throw new Exception("Bache Dast Nazan !");
return Data[i];
}
set
{
if (i < 0 || i >= _Count)
throw new Exception("Bache Dast Nazan !");
Data[i] = value;
}
}
}
وحاالآقا/خانم هم این و شما اینMain:
static void Main()
{
int Kheyli = 100000;
Shop BaghalieSareKouche = new Shop(Kheyli);
int BastaniIndex = 5;
double YeGheroun = 150;
double Geruoon = 1500;
Kala k1 = new Kala("Bastani", YeGheroun, Geruoon);
BaghalieSareKouche[BastaniIndex] = k1;
}
13. بخشهفتمنویسی برنامهC#12
متد:
درباالی را متدها ، نوشتیم متد که قبل های مثالMainنوشته، بودیممتد اگر که ، نوشت متد نیز کالس خود در توان می
staticاگر و ، داریم دسترسی آن به کالس نام خود طریق از باشدnon-staticکال نوع از ای شی طریق از باشدآن به سمان
داشت خواهیم دسترسی:
class Kala
{
public string Name;
public double Kharid;
public double Forush;
public Int64 TeFo;
public Kala(string Name, double Kharid,
double Forush, Int64 TeFo)
{
this.Name = Name;
this.Kharid = Kharid;
this.Forush = Forush;
this.TeFo = TeFo;
}
public static double Soud(Kala k)
{
return (k.Forush - k.Kharid) * k.TeFo;
}
}
static void Main()
{
Kala k1 = new Kala("Danet", 120, 100, 250);
double s = Kala.Soud(k1);
}
class Kala
{
public string Name;
public double Kharid;
public double Forush;
public Int64 TeFo;
public Kala(string Name, double Kharid,
double Forush, Int64 TeFo)
{
this.Name = Name;
this.Kharid = Kharid;
this.Forush = Forush;
this.TeFo = TeFo;
}
public double Soud()
{
return (Forush - Kharid) * TeFo;
}
}
static void Main()
{
Kala k1 = new Kala("Danet", 120, 100, 250);
double s = k1.Soud();
}
staticوnon-static:بتر دقیق ررسیمتدایندکسر ، پراپرتی ،وسازنده) است شده بررسی قبال (فیلد:
این اگراعضاstaticباشند. داریم دسترسی ها آن به کالس نام طریق ،از
اگراعضا اینnon-staticباشن. داریم دسترسی ها آن به کالس نوع از ای شی طریق از ، د
اگراعضا اینstaticفق و فقط در ، باشنداعضای به طstatic. داشت خواهیم دسترسی
اگراعضا اینstaticباشندبه ،thisنخو دسترسی ، است جاری شی به مربوط که. داشت اهیم
اگراعضا اینnon-staticو اعضا به هم ، باشندعناصرstaticهم وعناصر و اعضا بهnon-staticجمله (منthis)
. داشت خواهیم دسترسی
اگرکه باشیم داشته عضویstaticباشد)سازنده و ایندکسر ، (متدبصورت را آن بخواهیم و ،non-static، بنویسیم
، است شده حذف که آرگومان آن اسم جای به عضو بدنه داخل و ، نموده حذف را آن ورودی های آرگومان از یکی بایدازthis
توان می باشد نداشته وجود تداخلی هیچ که صورتی در و نموده استفادهthis.را. ننوشت نیز
اگرعضویnon-staticبصورت را آن بخواهیم و باشدstaticآرگومان به کالس خود نوع از آرگومانی باید ، بنویسیم
که هرجا و نموده اضافه آن هایthisاعضای از داریم که هرجا و بنویسیم را شده اضافه آرگومان نام داریمnon-staticکالس
باید ، کنیم می استفاده. نمود اضافه آنها اسم از قبل ) ).(دانت همراه (به شده اضافه آرگومان نام
14. بخشهفتمنویسی برنامهC#13
خودبصورت تواند می نیز کالسstatic.. و. خواند خواهید گرا شی درس در که شود تعریف نیز .
مثالاستاد که را ها صفاند گفتههمچنین و کنید مرور رادفترچه مثالتلفنیکالس سر که راب دقت با نیز را ام نوشتهخوانید.
مباحثترم پایان اصلی، بود ها همیناشکاالت و خوانده را مطالب دقت با که خواهشمندممیان در خود سرگروه با ابتدا را خود
به دیگری اشکال و سوال هر داشتن صورت در و گذاشته. دهید اطالع بنده
لطفادردر که صورتی، دارید آن بهبود جهت دیگری پیشنهاد هر یا و است نشده گفته که مطلبی یا و دیدید اشکالی فایل اینبه
. دهید اطالع بنده
موفقباشید موید و
ّدممحامجدی امین