Хийсвэр анги ба интерфэйс
Хийсвэр анги болон Интерфейс нь Java зэрэг олон объект хандалтат програмчлалын хэлэнд байдаг объект хандалтат бүтэц юм. Хийсвэр анги нь ердийн (бетон) ангийн хийсвэр хувилбар гэж тооцогддог бол интерфейсийг гэрээг хэрэгжүүлэх хэрэгсэл гэж үзэж болно. Abstract class нь эхлүүлэх боломжгүй боловч өргөтгөх боломжтой анги юм. Интерфейс нь бусад ангиудад хэрэгжих ёстой төрөл юм. Java хэл дээр Abstract ангиудыг Abstract түлхүүр үгээр зарладаг бол интерфейсийн түлхүүр үгийг интерфэйсийг тодорхойлоход ашигладаг.
Хийсвэр анги гэж юу вэ?
Ерөнхийдөө хийсвэр үндсэн ангиуд (ABC) гэгддэг хийсвэр ангиудыг үүсгэх боломжгүй (тухайн ангийн жишээг үүсгэх боломжгүй). Тиймээс, програмчлалын хэл нь удамшлыг дэмждэг (анги өргөтгөхөөс дэд анги үүсгэх чадвар) байвал хийсвэр ангиуд нь утга учиртай болно. Хийсвэр ангиуд нь ихэвчлэн хэсэгчилсэн эсвэл огт хэрэгждэггүй хийсвэр ойлголт эсвэл нэгжийг төлөөлдөг. Иймд хийсвэр анги нь хүүхдийн анги үүсгэсэн эцэг эхийн үүргийг гүйцэтгэдэг бөгөөд ингэснээр хүүхэд анги нь эцэг эхийн ангийн бүрэн бус шинж чанаруудыг хуваалцах бөгөөд тэдгээрийг дуусгахын тулд функцийг нэмж болно.
Хийсвэр ангиуд хийсвэр аргуудыг агуулж болно. Хийсвэр ангийг өргөтгөх дэд ангиуд нь эдгээр (удамшсан) хийсвэр аргуудыг хэрэгжүүлж болно. Хүүхдийн анги ийм бүх хийсвэр аргуудыг хэрэгжүүлдэг бол энэ нь тодорхой анги юм. Тэгэхгүй бол хүүхдийн анги мөн хийсвэр анги болно. Энэ бүхэн нь юу гэсэн үг вэ гэвэл программист нэг ангиудыг хийсвэрээр нэр дэвшүүлэх үед тэр анги бүрэн бус байх бөгөөд удамшлын дэд ангиудад бөглөх шаардлагатай элементүүдтэй болно гэж хэлж байна. Энэ нь хоёр программистын хооронд гэрээ байгуулах сайхан арга бөгөөд програм хангамж боловсруулах ажлыг хялбаршуулдаг. Өвлөхийн тулд код бичдэг программист нь аргын тодорхойлолтыг яг дагаж мөрдөх шаардлагатай (гэхдээ мэдээж өөрийн хэрэгжүүлэлттэй байж болно).
Интерфэйс гэж юу вэ?
Интерфейс нь тухайн интерфэйсийг хэрэгжүүлдэг ангиудад хэрэгжүүлэх ёстой гэрээг тодорхойлоход хэрэглэгддэг хийсвэр төрөл юм. Интерфейсийн түлхүүр үг нь интерфэйсийг тодорхойлоход, Implements түлхүүр үг нь интерфэйсийг ангиар хэрэгжүүлэхэд хэрэглэгддэг (Java програмчлалын хэл дээр). Ихэвчлэн интерфэйс нь зөвхөн аргын гарын үсэг болон байнгын мэдэгдлүүдийг агуулна. Тодорхой интерфэйсийг хэрэгжүүлдэг аливаа интерфэйс нь интерфэйсэд тодорхойлсон бүх аргыг хэрэгжүүлэх эсвэл хийсвэр анги гэж зарлах ёстой. Java хэл дээр объектын лавлагааны төрлийг интерфейсийн төрөл гэж тодорхойлж болно. Гэхдээ тэр объект нь null байх ёстой эсвэл тухайн интерфэйсийг хэрэгжүүлдэг ангийн объектыг агуулж байх ёстой. Java хэл дээрх Implements түлхүүр үгийг ашигласнаар та олон интерфейсийг нэг ангид хэрэгжүүлэх боломжтой.
Хийсвэр анги болон интерфейсийн ялгаа нь юу вэ?
Хийсвэр ангиуд нь ихэвчлэн хийсвэр ойлголт эсвэл хэсэгчилсэн эсвэл огт хэрэгждэггүй нэгжийг илэрхийлдэг. Нөгөө талаас интерфэйс нь ангиудад хэрэгжих ёстой гэрээг тодорхойлоход хэрэглэгддэг хийсвэр төрөл юм. Хийсвэр ангиуд нь удамшсан (эсвэл өргөтгөсөн) байх ёстой, харин интерфейсийг хэрэгжүүлэх ёстой. Хийсвэр ангиуд нь хийсвэр аргуудыг агуулж болох бол интерфейс нь зөвхөн хийсвэр аргуудыг агуулсан байх ёстой. Хийсвэр ангиуд нь ямар ч хувьсагчийг агуулж болох ч Интерфэйс нь зөвхөн тогтмолуудыг тодорхойлж чадна. Анги нь нэгээс олон хийсвэр ангиас өвлөх боломжгүй боловч олон интерфейсийг хэрэгжүүлэх боломжтой. Интерфэйс нь өөр интерфейсийг хэрэгжүүлэх боломжгүй. Гэсэн хэдий ч интерфэйс нь ангиа өргөтгөх боломжтой.