logo
logo
تبلیغ کلیکی تاپ سایت 98

آموزش final و super در جاوا

آموزش final و super در جاوا
هدایت عباسی آموزش جاوا

آموزش final و super در جاوا همراه با مثال و توضیحات کامل . چندین مثال در مورد final , super آورده ایم تا شما براحتی با کاربرد و کارکرد این دو دستور مهم آشنا شوید. این اموزش را تا آخر با دقت مطالعه فرمایید.

این اموزش متعلق به تاپ سایت 98 می باشد.

final در جاوا :

در این بخش از آموزش جاوا (java) به سراغ کاربرد final در جاوا می رویم.

با کلید واژه final می توان برای کاربر محدودیت هایی را ایجادکرد. همچنین می توانیم از فاینال برای موارد مختلف مانند متغیر ، متد و کلاس استفاده کنیم.

در زبان برنامه نویسی جاوا می توان یک فیلد را بصورت final تعریف کرد تا محتوای آن قابل تغییر نباشد.

در حقیقت final یک فیلد را به صورت ایستا در می آورد.

در زیر چند متغیر را از نوع final تعریف می کنیم. اکثرا نام متغیر با حروف بزرگ میباشد.

final int FILE_NEW = 1;
final int FILE_OPEN = 2;

در مثال زیر می بینید که ما قصد داریم مقدار متغیر sp را تغییر دهیم.

اما به دلیل اینکه متغیر از نوع final قابل تغییر نیست ما با خطا مواجه می شویم.

public class HelloWorld{
final int sp=250;
void run(){
sp=600;
}
public static void main(String []args){
HelloWorld topsite98=new HelloWorld();
topsite98.run();
}}

متد final در جاوا :

اگر متدی را در جاوا از نوع final انتخاب کنید دیگر نمی توانید ان را override کنید.

در زیر یک مثال را می بینید در این صورت شما با خطا مواجه خواید شد.

class Bike{
final void run(){System.out.println("running");}
}
class Honda extends Bike{
void run(){System.out.println("running safely with 100kmph");}
public static void main(String args[]){
Honda honda= new Honda();
honda.run();
}}

کلاس final :

اگر کلاسی را از نوع final انتخاب کنید نمی توانید آن را extend کنید.

در مثال زیر خطایی رخ خواهد داد.

final class Bike{}
class Honda1 extends Bike{
void run(){System.out.println("running safely with 100kmph");}
public static void main(String args[]){
Honda1 honda= new Honda1();
honda.run();
}}

super در جاوا :

در این قسمت به بحث واژه super در جاوا می پردازیم که بسیار مهم است.

کلید واژه super را می توان به دو صورت بکار برد. نوع اول آن سازنده کلاس را فراخوانی می کند.

نوع دوم جهت دسترسی به اعضایی ازابرکلاس بکار می رود که توسط عضوی از ان زیرکلاس پنهان شده اند.

مثال super در جاوا :

در مثال زیر یک کلاس بنام animal داریم که کلاس پدر است.

در آن یک رنگ مشخص شده است که رنگ سفید است.

سپس کلاس dog یا سگ را می بینید که زیرمجموعه animal شده است.

رنگ آن مشکی میباشد.

حال یک متد بنام printcolor را می بینید که دو متن را چاپ می کند.

وقتی این متد اجرا شود ابتدا رنگ خود را اجرا می کند که black میباشد.

سپس چون از super استفاده شده است رنگ پدر را چاپ می کند.

پس خروجی اول مشکلی و دوم سفید می باشد.

class Animal{
String color="white";
}
class Dog extends Animal{
String color="black";
void printColor(){
System.out.println(color);//prints color of Dog class
System.out.println(super.color);//prints color of Animal class
}
}
class TestSuper1{
public static void main(String args[]){
Dog d=new Dog();
d.printColor();
}}

مثال دوم super :

در مثال دوم super به سراغ نکات جدیدی از دستور super در جاوا می رویم.

در کلاس animal یا کلاس پدر ، یک متد بنام eat معرفی شده است.

حال در کلاس dog نیز یک eat و چند متد دیگر معرفی شده است.

چون در حین اجرا از super استفاده شده پس eat مربروط به کلاس پدر یا animal اجرا می شود.

ولی سپس bark که مربوط به dog است اجرا می شود.

class Animal{
void eat(){System.out.println("eating...");}
}
class Dog extends Animal{
void eat(){System.out.println("eating bread...");}
void bark(){System.out.println("barking...");}
void work(){
super.eat();
bark();
}
}
class TestSuper2{
public static void main(String args[]){
Dog d=new Dog();
d.work();
}}

امیدواریم این آموزش برای شما مفید باشد.

موفق باشید.

عزیزانی که تمایل دارند به تیم نویسندگی تاپ سایت 98 بپیوندند می توانند از طریق واتساپ با ما در ارتباط باشند. ما بهترین افراد را به تیم خود اضافه خواهیم کرد.

اگر سوال یا نظری دارید در بخش کامنت ها بنویسید.اگر موضوع خاصی مد نظر شماست که در سایت موجود نیست در بخش کامنت ها بنویسید

دوره ارز دیجیتال تاپ سایت 98

منبع: تاپ سایت 98

تگ:

دوره های آموزشی دوره های آموزشی

نظرات کاربران

از دیدگاه مرتبط با موضوع استفاده نمایید.

از تبلیغ سایت یا شبکه اجتماعی خودداری فرمایید.

برای پاسخ گویی بهتر در سایت ثبت نام نمایید و سپس سوال خود را مطرح فرمایید.