آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد Protected و public

mh58447  12 سال پیش  12 سال پیش
0 0

توی آموزش ها گفتین وقتی کلاسی 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);

    }

}

0 0
لطفا کدها رو در بخش درج کد درج کنید.( از بخش راهنما لینک کمک بگیرید) (12 سال پیش)
0 0
لینک (12 سال پیش)
+1 0
خلاصه -> public رو میشه در سایر پکیج هایی که تو برنامه هست استفاده کرد ، Protected رو نمیشه ! (12 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
sadeghbarout  12 سال پیش
0 0

ببین هر متدی که از کلاس پدرش بخواد دوباره تعریف بشه، بهش میگن override

حالا اگه بخوای از کلاس پسر به متدی در کلاس پدر دسترسی پیدا کنی باید اول بتونی ببینیش. برای دیدنش یا باید public باشه یا protected

اما فرق این دوتا چیه؟

متدی که publicه از هر کلاسی (پسر یا غیر پسر) قابل دسترسی و استفاده است

اما متدی که protected ه فقط از کلاسی که از اون کلاس extends شده( پسر) قابل دسترسیه.

(متد private هم که اصلا کسی دسترسی نداره و فقط همون پدره میتونه ازش استفاده کنه)

 

ویرایش:

یه چیزم الان از دوستان یاد گرفتم : متد protected از سایر کلاسهای پکیج همون کلاس هم قابل دسترسی هستن.

پاسخ به سوال 
Spirit  12 سال پیش
+3 0

0 0
منظور از پکیج، چیه دقیقا؟ (12 سال پیش)
0 0
اولین خط هر کلاسی پکیجش رو نوشته - به نوعی دسته بندی برای کلاسها به حساب میاد (12 سال پیش)
0 0
یعنی protected توی پکیج هم دیده میشه؟!! خوب شد گفتید ها! فکر میکردم فقط برای کلاس مشتق شده قابل دیدنه! (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .