به منظور فقط خواندنی کردن یک متغیر از کلمه کلیدی get استفاده میشود
به منظور فقط نوشتنی کردن یک متغیر از کلمه کلیدی set استفاده میشود
از get و set برای محافظت از متغیر ها استفاده میشود
public string firstname, lastname;
public int age;
public Person() { }
public Person(string f, string l, int a)
{
firstname = f; lastname = l; age = a;
}
public string fname
{
get { return firstname; }
set { firstname = value; }
}
public string lname
{
get { return lastname; }
set { lastname = value; }
}
public int ag
{
get { return age; }
set { age = value; }
}
public void display()
{
Console.WriteLine("Name is:" + firstname + " " + lastname);
Console.WriteLine("Age is:" + age );
}
در زبانهای java و #c وراثت به صورت یکطرفه است
جهت زیر کلاس قرار دادن کلاس فرزند تسبت به پدر از علامت : استفاده میشود
class Student:Person
{
public string field;
public int StudentNumber;
public Student(string fn, string ln, int a, int sn, string f):base(fn, ln, a)
{
field = f;
StudentNumber = sn;
}
public override void display()
{
base.display();
Console.WriteLine("Major is:" + field);
Console.WriteLine("Student number is:" + StudentNumber);
}
}
برای تکمیل display در کلاس پدر قبل از void کلمه virtual و در کلاس فرزند ovrride استفاده میشود
چنانچه تمایل به استفاده از یک متد تعریف شده در کلاس پدر و تکمیل آن در کلاس فرزند با همان نام داشته باشیم:
الف:در امضای متد مورد نظر در کلاس پدر قبل از کلمه void کلمه کلیدی virtual میگذاریم
ب:در کلاس فرزند و در همان متد قبل از کلمه void کلمه override قرار میدهیم
در اولین خط متد درون کلاس فرزند عبارت base.methodName()o را قرار میدهیم
تمرین:برنامه ای بنویسید شامل کلاس های person و student
تمرین:برنامه ای بنویسید شامل کلاس های person و Employee
تمرین:برنامه ای بنویسید شامل کلاس های person و Account که سود 2 درصد به موجودی حسابها اضافه کند