
— Салом, Амиго!
— Салом!
— Имрӯз мо класи Object-ро меомӯзем.
Ту аллакай бо он рӯ ба рӯ шудаӣ ва медонӣ, ки Object – класи асосӣ барои ҳама кластаро аст. Он аллакай ягон маълумот надорад, лекин чанд метод дорад.
— Барои чӣ ба он метод лозим аст? Магар касе объекти онро эҷод мекунад?
— Аз ин тараф ба ҳолат назар кун – методҳо, ки дар Object ҳастанд, дар ҳама кластаро ҳастанд. Яъне, таҳиягарони Java чанд методро интихоб карданд, ки, дар назари онҳо, бояд дар ҳама кластаро бошад ва онҳоро ба класи Object илова карданд.
Ва дар комбинатсия бо полиморфизм – имконияти тағйир додани методҳои класи Object дар кластаро-наслдарон – ин як воситаи қудратманди бисёрро ба вуҷуд меорад.
Биё, бубинем, ки ин методҳо чӣ ҳастанд:
Метод | Тавсиф |
---|---|
|
Равандан матни намояндаи объектро медиҳад. |
|
Ҷуфти методҳое, ки барои муқоиса кардани объектҳо истифода мешаванд. |
|
Объекти махсусро, ки класи ҷорӣ тавсиф мекунад, бармегардонад. |
|
Методҳо барои назорат кардани дастрасӣ ба объекти аз нитаҳои гуногун. Идоракунии ҳамоҳангсозии нитаҳо. |
|
Метод ба «озод кардан» имконият медиҳад, ки захираҳои на-Ҷаваи: файлҳо, шурӯъҳоро пӯшида ва ғайраро бармегардонад. |
|
Метод ба клон кардани объект имконият медиҳад: такрори объект эҷод мекунад. |
Методҳоро метавон ба 6 гурӯҳ тақсим кард. Бо баъзеашон ту аллакай шинос ҳастӣ, бо боқимондаашон дар лексияҳои назди мо шинос хоҳем шуд.
— Чизе ман инҷо чизи фоиданокро намебинам.
— Амиго! Агар ин методҳо муҳим намебуданд, онҳоро ба ҳама объектҳо намефармонанданд! Пас, тавсия медиҳам, ки бо диққат фаҳмед – ин чист ва барои чӣ лозим аст. Агар ба ту чунин менамояд, ки онҳо муҳим нестанд, пас ту чизе нафаҳмидӣ ё нодуруст фаҳмидӣ.
— Ок. Ман бо диққат гӯш мекунам.
— Аз методи toString() сар мекунем;
Ин метод имкон медиҳад, ки тавсифи матнии ҳар як объектро ба даст орем. Таҷассумгардонии он дар класи Object хеле содда аст:
return getClass().getName() + "@" + Integer.toHexString(hashCode());
getClass() ва hashCode() – инҳо низ методҳои класи Object мебошанд.
Ин натиҷаи стандартии фармонгардида чунин методро мебошад
java.lang.Object@12F456
— Ва дар ҳамин тавсиф чӣ фоида аст?
— Аз ҳамин тавсиф метавон гуфт, ки класи объекти аст, ки барои ҳамин метод фармон дода шуд. Ҳамчунин метавон фарқи объектҳоро дида – ба объектҳои гуногун рақамҳои гуногун, ки баъд аз аломати @ меоянд, мувофиқанд.
Аммо қимати ҳамин метод дар чизи дигар аст. Ин методро метавон дар ҳар як класс тағйир дод ва тавсифи зарурӣ ё тафсилоти бештарро бармегардонад.
Аммо ин ҳама нест. Ташаккур ба ҳамин, ки барои ҳар як объект метавонад намоиши матни он баргардонида шавад, дар Java имконияти дастгирии «ҷамъкунии» сатрҳо бо объектҳо амалӣ карда мешавад.
Бубин:
Код | Чӣ воқеан рӯй медиҳад |
---|---|
|
|
|
|
|
|
— Ҳа, ман инро доимо истифода мебарам. Хусусан вақте ки барномаро менависам ё дар он хатоҳо меҷӯям. Методи фоиданок
GO TO FULL VERSION