Бақылау сұрақтарға конспект: Мұрагерлік және полиморфизм



бет6/14
Дата25.05.2022
өлшемі56,39 Kb.
#35561
түріКонспект
1   2   3   4   5   6   7   8   9   ...   14
This сілтемесі.
Әрбір нысанда осы («бұл» - бұл да емес) деп аталатын деректер өрісі бар
apt белгісі C ++ тілінен мұраланған), ол нысанның өзіне сілтемені сақтайды.
Демек, осы объектінің өрістері мен әдістеріне объект әдісіндегі қатынасты жүзеге асыруға болады
тікелей немесе осы нысанға сілтеме арқылы. Мысалы, нысан бар болса
x өрісі және show () әдісі, онда this.x х сияқты, ал this.show () көрсету () сияқты. Бірақ ішінде
төменде талқыланатын аумақтың қабаттасуы жағдайында қысқаша қол жеткізу
атау мүмкін емес болып шықты және сіз осы сілтеме арқылы кіруді пайдалануыңыз керек. Ескерту,
бұл сілтеме объектінің айнымалы атауын пайдалануды айналып өтуге мүмкіндік береді, ол
кодты қолдану арқылы жан-жақты етеді. Мысалы, әдістерде қолданыңыз
объект данасы болып табылатын сыныптың.Бұл сілтеме сынып әдістерінде қолданыла алмайды (яғни статикалық модификатормен) өйткені оларды бар нысансыз шақыруға болады. Екі болса не болады деген сұрақ туындайды аты бірдей айнымалылар. Келесі жағдайлар қол жетімді: - Класта белгілі бір аты бар (жаһандық айнымалы) және тізімде өріс бар параметрлерінде аттас жергілікті айнымалы орнатылған. Бұл мәселе жиі кездеседідеректер өрістерін инициализациялау кезінде конструкторларда және әдістерде орын алады деректер өрісінің мәндерін орнату setFieldName.Бұл рұқсат етілген және қол жетімдіпараметр әдеттегідей атымен өтеді. Бірақ сонымен бірге деректер өрісінің көрінуі ( Access атауы бойынша деректер өрісіне) қабаттасады және сілтемені пайдалану керек бұл нысанға. Мысалы, деректер өрісінің аты x болса және әдістегі параметрдің аты да болса x, өріс мәнін орнату келесідей болады:
void setX(double x){
this.x=x }
-Сыныпта қандай да бір аты бар (жаһандық айнымалы) және әдісте өріс бар
аттас жергілікті айнымалы көрсетілген. Жағдай шешілді және ұқсас
параметрлер тізімінде жергілікті айнымалы мәнді орнату. Өріс арқылы қол жеткізіледі мынаны байланыстырыңыз.
- Сыныпта белгілі бір атаумен (жаһандық айнымалы) өріс бар және бөлімде
for циклінің инициализациясы немесе шектелген кейбір блоктың ішінде
бұйра жақшалар {…}, аттас жергілікті айнымалы көрсетілген. Java тілінде
бұл жағдай шешілді. Бұл жағдайда цикл немесе блок ішінде көрсетілген
бұл жергілікті айнымалы, ал жаһандық айнымалы осы сілтеме арқылы көрінеді.
- Жергілікті айнымалы бар (мүмкін тізім элементі ретінде көрсетілген
параметрлері) және for циклінің инициализация бөлімінде немесе кейбір блоктың ішінде, бұйра жақшалармен шектелген {...}, бірдей жергілікті айнымалы аты. Java тілінде бұл жағдайға тыйым салынады. Сонымен бірге компиляция қатесі шығарылады аттас айнымалы орнатылған («анықталған») туралы ақпаратпен.
- Сыныпта көрсетілген әдіс бар, ал басқа әдісте жергілікті
бірдей атпен айнымалы. Java-да бұл жағдай шешілді және тудырмайды
мәселелер, өйткені компилятор әдісті шақыруды деректер өрісін шақырудан ажыратады әдіс атынан кейін жақшаның болуы арқылы.




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   14




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет