به نام خدا
سلام دوستان
درس سی و یکم
استفاده از this و super در یک زیر کلاس
دو کلمه کلیدی بسیار مفید جهت استفاده در زیرکلاسها عبارتند از this و super . کلمه کلیدی this برای رجوع به شی ء جاری به کار می رود .هنگامی که کلاسی ایجاد می کنید و ناچار به رجوع به شی ء خاصی از این کلاس هستید می توانید از this استفاده کنید ، مانند جمله زیر :
This.title=”Cagney”;
این جمله متغییر title از این شی ء را برابر Cagney قرار می دهد.

کلمه کلیدی super نیز کاربرد مشابهی دارد و به کلاس ارشد مستقیم آن شی ء رجوع می نماید. Super را می توان به چندین روش مورد استفاده قرار داد :
• برای رجوع به یک متد سازنده از کلاس ارشد ، مانند super(“Adam”,12) .
• برای رجوع به متغییری از کلاس ارشد، مانند super.Hawaii=50 .
• برای رجوع به یک متد از کلاس ارشد ، مانند super.dragNet() .
یکی از کاربردهای کلمه کلیدی super در متد سازنده ، مربوط به یک زیر کلاس می باشد . از آنجایی که هر زیرکلاس کلیه رفتارها و خصوصیات کلاس ارشد خود را به ارث می برد ، شما باید هر متد سازنده از زیر کلاس را با یک متد سازنده از کلاس ارشد آن همراه کنید . در غیر اینصورت برخی از رفتارها و خصوصیات به درستی تنظیم نخواهد شد و زیر کلاس عملکرد صحیحی نخواهد داشت .
جهت حصول اطمینان از فراخوانی متد سازنده کلاس ارشد ، باید این متد را در اولین جمله از سازنه زیر کلاس فرا خوانی کنید و برای این منظور باید از کلمه کلیدی super استفاده کنید ، مانند جملات زیر :
Publiv ReadFile(String name,int length){
Super(name,length);
}
مثال فوق ، متد سازنده ای است از یک زیر کلاس که با استفاده از super(name,lenth) متد سازنده متناظر از ارشد خود را فرا می خواند.