"हॅलो, अमिगो! मी तुम्हाला मेथड ओव्हरलोडिंगबद्दल सांगणार आहे ."
"तुम्ही त्यांनाही ओव्हरलोड करू शकता?! काय दिवस आहे!"
"तुम्ही त्यांच्यासोबत बरेच काही करू शकता, परंतु आम्ही आत्ता त्यामध्ये जाणार नाही."
"तो एक करार आहे."
"ओव्हरलोडिंग हे एक अतिशय सोपे ऑपरेशन आहे. वास्तविक, हे पद्धतींवरचे ऑपरेशन देखील नाही, जरी ते कधीकधी भयावह नावाने संबोधले जाते: पॅरामेट्रिक पॉलिमॉर्फिझम ."
तुम्हाला लक्षात ठेवण्याची गोष्ट अशी आहे की वर्गातील प्रत्येक पद्धतीचे वेगळे नाव असले पाहिजे.
"हो मला माहीत आहे."
"ठीक आहे, हे पूर्णपणे खरे नाही. म्हणजे, ते अजिबात खरे नाही. पद्धतीला अद्वितीय नाव असण्याची गरज नाही. पद्धतीचे नाव आणि त्याच्या पॅरामीटर्सचे प्रकार हे वेगळे असले पाहिजेत. हे संयोजन देखील आहे पद्धत स्वाक्षरी म्हणून ओळखले जाते."
कोड | टिप्पण्या |
---|---|
|
याची परवानगी आहे. दोन पद्धतींना अद्वितीय नावे आहेत. |
|
आणि हे देखील परवानगी आहे. दोन पद्धतींना अद्वितीय नावे (स्वाक्षरी) आहेत. |
|
पद्धतीची नावे अजूनही येथे अद्वितीय आहेत. |
|
पण याला परवानगी नाही. विविध प्रकारचे पास केले जात असले तरीही पद्धती अद्वितीय नाहीत. |
|
पण याला परवानगी आहे. पद्धतीचे मापदंड अद्वितीय आहेत. |
"मी ते आधीच कुठेतरी पाहिले आहे."
"होय. तुम्ही " System.out.println " टाइप करता तेव्हा, IntelliJ IDEA वेगवेगळ्या पॅरामीटर्स वापरणाऱ्या प्रिंट पद्धतींच्या दोन डझन आवृत्त्या सुचवते . कंपाइलर फक्त तुम्ही पास करत असलेल्या पॅरामीटर्सच्या प्रकारांवर आधारित आवश्यक पद्धत ओळखतो आणि कॉल करतो."
"ते इतके अवघड नाही. पण ते बहुरूपता नाही."
"किंवा अधिक अचूकपणे, हे पद्धत अधिलिखित नाही."
तसे, मला हे सूचित करायचे आहे की पॅरामीटरची नावे अप्रासंगिक आहेत. ते संकलनादरम्यान गमावले जातात. एकदा पद्धतीचे पालन केल्यावर, फक्त तिचे नाव आणि पॅरामीटर प्रकार ओळखले जातात.
GO TO FULL VERSION