Хэрэгжүүлэх ба Өргөтгөх
Implements and Extends нь Java програмчлалын хэлэнд олдсон хоёр түлхүүр үг бөгөөд нэмэлт функцийг шинэ анги руу шилжүүлэх хэрэгсэл болдог. Implements түлхүүр үгийг интерфэйсийг хэрэгжүүлэхэд тодорхой ашигладаг бол Extends түлхүүр үгийг (супер) ангиас залгамжлахад ашигладаг. Өв залгамжлал ба интерфейсийн тухай ойлголтууд нь C болон VB. NET гэх мэт бусад объект хандалтат програмчлалын хэлнүүдийн ихэнхэд байдаг боловч тэдгээр ойлголтуудыг хэрэглэх өөр өөр синтакс эсвэл түлхүүр үгсийг санал болгодог гэдгийг анхаарна уу. Энэ нийтлэл нь зөвхөн Java хэл дээр тодорхойлсон Implements and Extends түлхүүр үгсэд зориулагдсан болно.
Сунгагдана
Extends түлхүүр үгийг Java програмчлалын хэлэнд удамших тухай ойлголтыг хэрэгжүүлэхэд ашигладаг. Өв залгамжлал нь үндсэндээ шинээр тодорхойлсон ангиар одоо байгаа ангийн шинж чанар, зан төлөвийг өргөтгөх замаар кодыг дахин ашиглах боломжийг олгодог. Шинэ дэд анги (эсвэл үүсмэл анги) нь супер анги (эсвэл эх анги) өргөтгөхөд тэр дэд анги нь супер ангийн бүх шинж чанар, аргуудыг өвлөн авах болно. Дэд анги нь эцэг ангиас удамшсан зан төлөвийг (аргуудад шинэ эсвэл өргөтгөсөн функцээр хангах) сонголтоор дарж болно. Дэд анги нь Java хэл дээрх олон супер ангиудыг өргөтгөх боломжгүй. Тиймээс та олон өв залгамжлалд өргөтгөл ашиглах боломжгүй. Олон удамшилтай байхын тулд та доор тайлбарласны дагуу интерфэйсүүдийг ашиглах хэрэгтэй.
Хэрэгжүүлнэ
Java програмчлалын хэл дээрх Implements түлхүүр үг нь интерфэйсийг ангиар хэрэгжүүлэхэд ашиглагддаг. Java хэл дээрх интерфэйс нь тухайн интерфэйсийг хэрэгжүүлдэг ангиудад хэрэгжүүлэх гэрээг тодорхойлоход хэрэглэгддэг хийсвэр төрөл юм. Ихэвчлэн интерфэйс нь зөвхөн аргын гарын үсэг болон байнгын мэдэгдлүүдийг агуулна. Тодорхой интерфэйсийг хэрэгжүүлдэг аливаа интерфэйс нь интерфэйсэд тодорхойлсон бүх аргыг хэрэгжүүлэх эсвэл хийсвэр анги гэж зарлах ёстой. Java хэл дээр объектын лавлагааны төрлийг интерфейсийн төрөл гэж тодорхойлж болно. Гэхдээ тэр объект нь null байх ёстой эсвэл тухайн интерфэйсийг хэрэгжүүлдэг ангийн объектыг агуулж байх ёстой. Java хэл дээрх Implements түлхүүр үгийг ашигласнаар та олон интерфейсийг нэг ангид хэрэгжүүлэх боломжтой. Интерфэйс нь өөр интерфейсийг хэрэгжүүлэх боломжгүй. Гэхдээ интерфэйс нь ангиа өргөтгөх боломжтой.
Хэрэгжүүлэх болон өргөтгөх хоорондын ялгаа
Хэдийгээр Implements and Extends нь Java програмчлалын хэлний ангид шинж чанар, зан төлөвийг өвлөх механизмыг хангадаг хоёр түлхүүр үг боловч тэдгээрийг хоёр өөр зорилгоор ашигладаг. Implements түлхүүр үгийг тухайн ангид тодорхой интерфэйсийг хэрэгжүүлэхэд ашигладаг бол Extends түлхүүр үгийг дэд ангид супер ангиас өргөтгөхөд ашигладаг. Анги нь интерфэйсийг хэрэгжүүлэх үед тухайн анги нь интерфэйс дээр тодорхойлсон бүх аргуудыг хэрэгжүүлэх шаардлагатай байдаг бол дэд анги нь супер ангиудыг өргөтгөх үед эцэг ангид багтсан аргуудыг хүчингүй болгож болно. Эцэст нь, Implements болон Extends-ийн өөр нэг гол ялгаа нь анги нь олон интерфэйсийг хэрэгжүүлэх боломжтой боловч Java-ийн зөвхөн нэг супер ангиас л өргөтгөх боломжтой юм. Ерөнхийдөө Implements (интерфейс)-ийн хэрэглээ нь Extends-ийн (удамшлын) хэрэглээтэй харьцуулахад уян хатан чанар, холболтыг багасгах зэрэг хэд хэдэн шалтгааны улмаас илүү таатай гэж үздэг. Тиймээс практикт үндсэн ангиудыг өргөтгөхөөс интерфэйс рүү програмчлахыг илүүд үздэг.