...

۱ مطلب با موضوع «Java» ثبت شده است

  • ۱
  • ۰

Override به فارسی یعنی برتری جستن بر ، برتر یا مهمتر بودن 

در جاوا اگر ما یک کلاس داشته باشیم که دارای یک یا چند متد(توابع تعریف شده در یک کلاس) باشه و ما بخوایم مثلا یک کلاس جدید بسازیم که از این کلاس ارث بری کنه که در این صورت تمام متد ها و خواص اون کلاس پدر رو به ارث میبره ولی ما میخوایم مثلا یک متد از کلاس پدر در کلاس فرزند با اسم مشابه کار متفاوت انجام بده در این صورت امضا تابع رو به همون شکلی که در کلاس پدر تعریف شده مینویسیم ولی بدنه متد یا تابع رو همانطور که میخواهیم در کلاس فرزند آنگونه عمل کند مینویسیم.

البته میتوانیم هنگام ساختن اشیا نیز متد های دلخواهمان را Override کنیم.

مثلا ما یک کلاس داریم که کار این کلاس سامان دهی رویداد ها میباشد و ما در این کلاس متد هایی مثل کلیک کردن یا دابل کلیک کردن و ... را داریم حالا ما میخوایم یک شی از روی این کلاس برای دکمه خروج بسازیم تا هر وقت روی دکمه خروج کلیک شد شی ما کارش را شروع کند در درون این شی یک رویداد کلیک کردن وجود دارد که دارای یک بدنه است و کاری که در هنگام کلیک شدن بر روی دکمه قرار است انجام شود در بدنه این تابع باید نوشته شود.برای اینکار ما باید هنگام ساختن شی از روی کلاس مربوط به سامان دهی رویداد ها متدی که مربوط به کلیک شدن است را Overide  کنیم و در بدنه این تابع مربوط به کلیک شدن کدی که باعث خروج از نرم افزار می شود را بنویسیم.دقت کنید که تابع مربوط به کلیک شدن در کلاس سروسامان دادن رویداد ها وجود داشت اما آن کاری را که ما میخواستیم را انجام نمیداد برای اینکه دقیقا کاری که ما میخواهیم را انجام دهد آن را Override  کردیم.

نمونه های اینگونه Overide  کردن ها را ما بسیار در برنامه نویسی اندریود شاهد هستیم .

 OnClickListener btn = new OnClickListener() {
                            @Override
                            public void onClick(View arg0) {
                                // TODO Auto-generated method stub
                                Intent intent = new Intent(BlueActivity.this, Green.class);
                                startActivity(intent);
                            }
                        };

در بالا از کلاس OnClickListener  یک شی بنام btn ساختیم و در همانجا متد onClick آن را Override کردیم که در بدنه onClick کد مربوط به رفتن به یک اکتیویتی(صفحه) دیگر را نوشته ایم.

کلا Override یک متد که در جاهای مختلف کار های مختلفی میکنه که با استفاده از همین Override  و Overload که بعدا توضیح میدمش مفهوم چند ریختی در زبان جاوا ساپورت میشه.

امیدوارم خوب باشه مطلب براتون . 

  • حسین شفیعی
تمامی حقوق این سایت طبیعتا مال همین سایته و کپی مطالب تنها با ذکر منبع مجاز می باشد