سوال در مورد Protected و public
توی آموزش ها گفتین وقتی کلاسی Protected باشه در کلاس پدر میتوانیم اونو در کلاس پسر override کنیم
اما توی کلاس mail ما کلمه override رو داریم اما کلاسی که به ارث برده شده public است و نه protected.
چجوری میشه یک کلاس public بتونه override بشه؟
public class MyclassesActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
ببین هر متدی که از کلاس پدرش بخواد دوباره تعریف بشه، بهش میگن override
حالا اگه بخوای از کلاس پسر به متدی در کلاس پدر دسترسی پیدا کنی باید اول بتونی ببینیش. برای دیدنش یا باید public باشه یا protected
اما فرق این دوتا چیه؟
متدی که publicه از هر کلاسی (پسر یا غیر پسر) قابل دسترسی و استفاده است
اما متدی که protected ه فقط از کلاسی که از اون کلاس extends شده( پسر) قابل دسترسیه.
(متد private هم که اصلا کسی دسترسی نداره و فقط همون پدره میتونه ازش استفاده کنه)
ویرایش:
یه چیزم الان از دوستان یاد گرفتم : متد protected از سایر کلاسهای پکیج همون کلاس هم قابل دسترسی هستن.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
