JavaRush /Курсхо /All lectures for TG purposes /Ҳамаи методҳои класи Object, методи toString()

Ҳамаи методҳои класи Object, методи toString()

All lectures for TG purposes
Сатҳи , Дарс
дастрас
Ҳамаи методҳои класи Object, методи toString() - 1

— Салом, Амиго!

— Салом!

— Имрӯз мо класи Object-ро меомӯзем.
Ту аллакай бо он рӯ ба рӯ шудаӣ ва медонӣ, ки Object – класи асосӣ барои ҳама кластаро аст. Он аллакай ягон маълумот надорад, лекин чанд метод дорад.

— Барои чӣ ба он метод лозим аст? Магар касе объекти онро эҷод мекунад?

— Аз ин тараф ба ҳолат назар кун – методҳо, ки дар Object ҳастанд, дар ҳама кластаро ҳастанд. Яъне, таҳиягарони Java чанд методро интихоб карданд, ки, дар назари онҳо, бояд дар ҳама кластаро бошад ва онҳоро ба класи Object илова карданд.

Ва дар комбинатсия бо полиморфизм – имконияти тағйир додани методҳои класи Object дар кластаро-наслдарон – ин як воситаи қудратманди бисёрро ба вуҷуд меорад.

Биё, бубинем, ки ин методҳо чӣ ҳастанд:

Метод Тавсиф
public String toString()
Равандан матни намояндаи объектро медиҳад.
public native int hashCode()
public boolean equals(Object obj)
Ҷуфти методҳое, ки барои муқоиса кардани объектҳо истифода мешаванд.
public final native Class getClass()
Объекти махсусро, ки класи ҷорӣ тавсиф мекунад, бармегардонад.
public final native void notify()
public final native void notifyAll()
public final native void wait(long timeout) 
public final void wait(long timeout, intnanos) 
public final void wait()
Методҳо барои назорат кардани дастрасӣ ба объекти аз нитаҳои гуногун. Идоракунии ҳамоҳангсозии нитаҳо.
protected void finalize()
Метод ба «озод кардан» имконият медиҳад, ки захираҳои на-Ҷаваи: файлҳо, шурӯъҳоро пӯшида ва ғайраро бармегардонад.
protected native Object clone()
Метод ба клон кардани объект имконият медиҳад: такрори объект эҷод мекунад.

Методҳоро метавон ба 6 гурӯҳ тақсим кард. Бо баъзеашон ту аллакай шинос ҳастӣ, бо боқимондаашон дар лексияҳои назди мо шинос хоҳем шуд.

— Чизе ман инҷо чизи фоиданокро намебинам.

— Амиго! Агар ин методҳо муҳим намебуданд, онҳоро ба ҳама объектҳо намефармонанданд! Пас, тавсия медиҳам, ки бо диққат фаҳмед – ин чист ва барои чӣ лозим аст. Агар ба ту чунин менамояд, ки онҳо муҳим нестанд, пас ту чизе нафаҳмидӣ ё нодуруст фаҳмидӣ.

— Ок. Ман бо диққат гӯш мекунам.

— Аз методи toString() сар мекунем;

Ин метод имкон медиҳад, ки тавсифи матнии ҳар як объектро ба даст орем. Таҷассумгардонии он дар класи Object хеле содда аст:

return getClass().getName() + "@" + Integer.toHexString(hashCode());

getClass() ва hashCode() – инҳо низ методҳои класи Object мебошанд.
Ин натиҷаи стандартии фармонгардида чунин методро мебошад

java.lang.Object@12F456

— Ва дар ҳамин тавсиф чӣ фоида аст?

— Аз ҳамин тавсиф метавон гуфт, ки класи объекти аст, ки барои ҳамин метод фармон дода шуд. Ҳамчунин метавон фарқи объектҳоро дида – ба объектҳои гуногун рақамҳои гуногун, ки баъд аз аломати @ меоянд, мувофиқанд.

Аммо қимати ҳамин метод дар чизи дигар аст. Ин методро метавон дар ҳар як класс тағйир дод ва тавсифи зарурӣ ё тафсилоти бештарро бармегардонад.

Аммо ин ҳама нест. Ташаккур ба ҳамин, ки барои ҳар як объект метавонад намоиши матни он баргардонида шавад, дар Java имконияти дастгирии «ҷамъкунии» сатрҳо бо объектҳо амалӣ карда мешавад.
Бубин:

Код Чӣ воқеан рӯй медиҳад
int age = 18;
System.out.println("Age is " + age);

String s = String.valueOf(18);
String result = "Age is " + s;
System.out.println(result);
Student st = new Student("Vasya");
System.out.println("Student is " + st);

Student st = new Student("Vasya");
String result = "Student is " + st.toString();
System.out.println(result);
Car car = new Porsche();
System.out.println("My car is " + car);

Car car = new Porsche();
String result = "My car is " + car.toString();
System.out.println(result);

— Ҳа, ман инро доимо истифода мебарам. Хусусан вақте ки барномаро менависам ё дар он хатоҳо меҷӯям. Методи фоиданок

Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION