using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Enter
{
class EmployeeService:Employee//EmployeeService moshtadh shode az Employee
{
private int empReg;
public int EMPREG//میخوام برای فیلد بالایی یک تابع ست و گت بنویسیم تا از آنها توانیم استفاده کنیم
{
set
{
empReg = value;
}
get
{
return empReg;
}
}
}
}
کلاس:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Enter
{
class Employee
{
protected long EmpNum;//چون من اینها را بصورت خصوصی تعریف کرده ام پس باید راهی برای استفاده از آنها استفاده کنم پس از 2 تابع ست و گت استفاده میکنم
protected long EmpSal;//این فیلد هم به بصورت بالا
public long empnum
{
get
{
return EmpNum;
}
set
{
EmpNum = value;
}
}
public long empsal
{
set
{
EmpSal = value;
}
get
{
return EmpSal;
}
}
}
}
فراخونی:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Enter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn1_Click(object sender, EventArgs e)
{
EmployeeService emp = new EmployeeService();//ما از مشتق شده شیئ ساختیم زیرا هم ویژگی خودش را دارا بود و هم ویژگی چیزی را که به ارث برده بود
emp.empnum = 100;//با نمونه ای که از کلاس مورد نظر ساختیم توانستیم از یک نمونه برای چندین توابع استفاده کنیم
emp.empsal = 5000000;
emp.EMPREG = 2;
lbl1.Text = " ... "+emp.empnum;
lbl2.Text = " ... "+emp.EMPREG;
lbl3.Text = " ... " + emp.empsal;
}
}
}
این برنامه شما رو با مفهوم و کار با set و get رو آشنا میکنه
که فکر کنم میاد حقوق کارمندان رو محاسبه میکنه البته با یک سری مقادیر ثابت در هنگام فراخونی
سوالی بود ، بفرمایین
بااحترام
==============================================
این برنامه هم نمونه دیگه ای برای کار با set و get هست که در واقع با نوعی مفهوم انتزاعی هم آشنا میشین
کلاس point
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace entezae
{
class Point:Shape
{
private int x;//برای تعیین یک نقطه نیاز به یک ایکس و ایگرگ داریم
private int y;//توضیحات بالا
public Point()
{
//در اینجا نمونه سازی انجام میدهد در ابسترکت چون کار نمونه سازی نمیتوانیم انجام بدهیم پس باید با این کار بتوانیم یک نمونه سازی انجام بدهیم
}
public Point(int one,int two)//در اینجا ما از متد های همسان ساز استفاده میکنیم
{
X = one;//برای هر یک از فیلدهای خصوصی ما از پروپرتیز استفاده میکنیم
Y = two;//این هم بمانند خط بالا
}
public int X
{
set
{
x = value;
}
get
{
return x;
}
}
public int Y
{
set
{
y = value;
}
get
{
return y;
}
}
public override string Name
{
get
{
return "Point";
}
}
}
}
کلاس shape
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace entezae
{
public abstract class Shape
{
public virtual double area()//در ابتدا میخوام یک متد بصورت مجازی تعریف کنم
{
return 0;//که یک مقدار بازگشتی داره
}
public virtual double Volum()//دقیقا این توضیحات بمانند توضیحات بالا میباشد
{
return 0;//و یک مقداری را بر میگرداند
}
public abstract string Name//حتما باید در تابع ابسترکت یک متد با همبن نوع وجود داشته باشد
{
get;//و چون میخواد همیشه نامی از تابع را برگداند پس از ویژگی گت استفاده میکنم
}
}
}
کلاس cylinder
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace entezae
{
class Cylinder:Circle
{
private int hieght;
public Cylinder()
{
//در اینجا ما یکنمونه میسازیم
}
public Cylinder(int one, int two, int three, int four):base(one,two,three)
{
Hieght = four;
}
public int Hieght
{
set
{
hieght = value;
}
get
{
return hieght;
}
}
public override double area()
{
return 2 * base.area() * Hieght;
}
public override double Volum()
{
return base.area() * Hieght;
}
}
}
کلاس circle
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace entezae
{
class Circle:Point
{
private int radius;
public Circle()
{
//ما در اینجا یک نمونه ساختیم
}
public Circle(int one,int two,int three):base(one,two)//در اینجا تبع همسان ساز میسازیم
{
Radius = three;
}
public double Radius//در اینجا اومدم یک خصوصیت برای دایره که بصورت خصوصی تعریف شده بود نوشتم
{
set
{
radius = value;
}
get
{
return radius;
}
}
public override double area()
{
return 2 * (Math.PI) * Radius;
}
public override string Name
{
get
{
return "Circle";
}
}
}
}
فراخونی :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace entezae
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)//در اینجا چون از توابع همسان استفاده میکنم پس نیازی نیست که دیگر از نمونه سازی استفاده کنم
{
}
}
}
عذر میخوام اگه کم و کاستی داره
اگه جای سوال بود حتما بفرمایین
بااحترام
علاقه مندی ها (Bookmarks)