Полиморфизм.
Полиморфизм - объектінің әртүрлі формаларды қабылдау қабілеті. OOP-те полиморфизмнің ең жиі қолданылуы еншілес сыныптың нысанына сілтеме жасау үшін ата-аналық сынып сілтемесі пайдаланылған кезде орын алады. Java тіліндегі полиморфизм түсінігін қарапайым тілмен, былайша айтқанда, манекендерді түсінуге тырысайық.
Бірнеше IS-A сынағынан өте алатын Java тіліндегі кез келген нысан полиморфты болып саналады. Java тілінде барлық нысандар полиморфты болып табылады, өйткені кез келген нысан өз түрі үшін және Object класы үшін IS-A сынағынан өтеді.
Нысанға тек анықтамалық айнымалы арқылы қол жеткізуге болатынын білу маңызды. Анықтамалық айнымалы тек бір типті болуы мүмкін. Жарияланғаннан кейін анықтамалық айнымалының түрін өзгерту мүмкін емес.
Сілтеме айнымалысы түпкілікті деп жарияланбаған басқа нысандарға қайта тағайындалуы мүмкін. Анықтамалық айнымалының түрі ол нысанда шақыра алатын әдістерді анықтайды.
Анықтамалық айнымалы өзінің жарияланған түрінің кез келген нысанына немесе жарияланған түрінің кез келген ішкі түріне сілтеме жасай алады. Сілтеме айнымалысын класс немесе интерфейс түрі ретінде.
Object негізгі класы.
Object класы барлық Java сыныптары үшін базалық класс болып табылады. Сондықтан оның барлық салалары мен әдістері мұраланған және барлық сыныптарда қамтылған. Object класы келесі әдістерді қамтиды:
public Boolean equals (Object obj) - объект мәндері тең болса, ақиқат мәнін қайтарады,
одан әдіс шақырылады және нысан тізімдегі сілтеме obj арқылы өтті
параметрлері. Егер нысандар тең болмаса, false мәні қайтарылады. Object сыныбында теңдік сілтеме теңдігі ретінде қарастырылады және «==" салыстыру операторына баламалы. Бірақ ішінде ұрпақтары бұл әдісті қайта анықтауға болады және объектілерді олардың көмегімен салыстыра алады
мазмұны.
public int hashCode () - нысанның хэш кодын қайтарады. Хэш-код шартты түрде шақырылады кез келген элементпен байланысты бірегей сандық идентификатор. Бастап қауіпсіздік мақсатында қолданбалы бағдарламаға нысанның мекенжайын беру мүмкін емес. Сондықтан, Java хэш коды қандай да бір мақсатта сақтау қажет болған жағдайда нысанның мекенжайын ауыстырады объектінің адрестік кестелері. қорғалған нысан клоны () CloneNotSupportedException шығарады - әдіс қосылған нысанды көшіру және нысанның жасалған клонына (қайталанатын) сілтемені қайтарады. Объект сыныбының мұрагерлері, ол қайта анықталуы керек, сонымен қатар бұл сыныпты көрсетеді Clonable интерфейсін жүзеге асырады. Қолдамайтын нысаннан әдісті шақыруға әрекеттену клондау, CloneNotSupportedException шығарады («Клондауға қолдау көрсетілмейді»). Интерфейстер мен ерекшеліктер болады кейінірек сипатталған.Клондаудың екі түрі бар: таяз, клон бір-бірден болған кезде бастапқы нысанның өрістерінің мәндері көшіріледі және терең (терең), онда өрістер үшін сілтеме түрі сілтеме жасалған нысандарды клондайтын жаңа нысандарды жасайды
бастапқы шеттер. Таяз клондау кезінде түпнұсқа да, клон да бірдей сілтеме жасайды бірдей объектілер. Егер нысанда тек қарабайыр түрлердің өрістері болса, таяз және арасындағы айырмашылықтар терең клондау емес. Клондауды бағдарламашы жүзеге асырады, дамып келе жатқан класс, автоматты клондау механизмі жоқ. ... Және бұл сахнада болды
сыныптың дамуы қандай клондау нұсқасын таңдау керектігін шешуі керек. Шамадан тыс көп жағдайда терең клондау қажет.
Достарыңызбен бөлісу: |