Интерфейс және іске асыру, іске асыруды мұра ету
Бағдарламалауда бағдарламаның белгілі бір бөлігі орындай алатын мүмкін есептеулер тізімін білдіретін бағдарламалық интерфейс ұғымы бар. Бұл сипаттаманы қамтиды: тізімдегі алгоритмдерге қандай аргументтерді және қандай ретпен енгізу керек, сонымен қатар олар нені және қандай түрде қайтарады. Дерексіз деректер түрі интерфейс осындай тізімді ресми сипаттау үшін ойлап табылған. Алгоритмдердің өзі, яғни барлық осы есептеулерді орындайтын жарамды бағдарламалық код интерфейс берілмейді, бөлек бағдарламаланады және интерфейсті іске асыру деп аталады.
Бағдарламалық интерфейстер, сондай-ақ сыныптар ОP-де дайын кодты қайта пайдаланудың маңызды құралдарының бірі болып табылатын мұрагерлік арқылы кеңейтілуі мүмкін. Мұрагерлік сынып немесе интерфейс оның барлық ата-аналық сыныптары үшін көрсетілгендердің барлығын қамтиды (бағдарламалау тілі мен платформасына байланысты олар нөлден шексіздікке дейін болуы мүмкін). Мысалы, "менің мәтін жолым" сыныбын бұрыннан бар "мәтін жолы" сыныбынан мұра ету арқылы мәтіндік жол опциясын жасауға болады, бұл бағдарламашыға іздеу алгоритмдерін және басқаларын қайта жазудың қажеті жоқ деп болжайды, өйткені олар автоматты түрде дайын сыныптан мұраға қалады және "менің мәтін жолым" сыныбының кез келген данасы мүмкін қажетті есептеулерді жүргізу үшін "мәтін жолы" ата-аналық класының дайын әдістеріне ғана емес, сонымен қатар "мәтін жолы" сияқты объектілермен жұмыс істей алатын кез-келген алгоритмге де берілуі керек, өйткені екі сыныптың даналары бағдарламалық интерфейстерге сәйкес келеді.
Класс бағдарламалық интерфейсті өзіне және оның даналарына ғана емес, сонымен қатар есептеуге жауапты кодты жазуға мүмкіндік береді. Егер сіз өзіңіздің жаңа деректер түріңізді құру кезінде интерфейсті мұра етсеңіз, онда біз деректер түрінің данасын осы интерфейспен жұмыс істей алатын кез-келген алгоритмге жібере аламыз. Алайда, біз интерфейсті іске асыруды өзіміз жазуымыз керек, яғни бізді қызықтыратын алгоритм біздің дананы пайдаланып есептеулер жүргізу үшін қолданатын Алгоритмдер. Сонымен қатар, сыныпты мұра ете отырып, біз дайын кодты интерфейс бойынша автоматты түрде мұра етеміз (бұл әрдайым бола бермейді, ата-ана сыныбы міндетті түрде балалар сыныбында кейбір алгоритмдерді енгізуді талап етуі мүмкін). Бұл мүмкіндікте дайын кодты мұра ету және объектіге бағытталған бағдарламада деректер типі класс интерфейсті де, оның барлық даналары үшін іске асыруды да анықтайды.
Достарыңызбен бөлісу: |