به منظور فقط خواندنی کردن یک متغیر از کلمه کلیدی 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 درصد به موجودی حسابها اضافه کند