Просте пояснення за аналогією: Що таке обгортання?
Код не використовується для пояснення.
Приклад 1: Ipad "загортає" Iphone
Що робить ipad, а що iphone не робить?
Хіба в основному це не одне і те ж, хіба що у одного більший екран?
Ipad "обгортає" iphone: це означає, що ви маєте всі переваги iphone всередині самого ipad, а також переваги більшого екрану тощо. Але принципово, всередині ipad, лежить Iphone.
Що тоді відрізняється? Єдине, що відрізняється зовнішнім виглядом: у вас екран більший, і, можливо, ви не можете телефонувати на Ipad.

Буквально те саме з "предметами".
............. всередині є все хороше, що є однаковим, але іншим зовнішнім виглядом. Інша обгортка.
"Обгортки можуть виявляти інші функції, ніж основний об'єкт" ...... добре, але що це означає?
Іноді обгортка може обмежувати те, до чого ви можете отримати доступ всередині. Наприклад, ipad може обмежити вашу можливість здійснювати телефонні дзвінки, навіть незважаючи на те, що Iphone, похований у ньому, має таку можливість.
Приклад 2: Автоматичний автомобіль, який діє як обгортка для ручного автомобіля
Подумайте про автоматичну та ручну машини. За лаштунками, в автоматичному автомобілі, є якийсь інженерний механізм, який автоматично перемикає передачі для вас, але принципово, під поверхнею, автомобіль все ще є ручним автомобілем. Іншими словами, автоматичні функції автомобіля «обгортають» ручну функціональність автомобіля. Якщо ви хотіли самостійно змінити передачі самостійно в автоматичному автомобілі - ви просто не можете цього зробити. Можливість перемикання передач "не піддається" в автоматичному автомобілі. Але це виставляється в ручному автомобілі. Зрозуміло, аналогія трохи напружена, але, сподіваюся, ви бачите, до чого я приходжу.
Але яке призначення обгортки?
Ви б написали клас упаковки, якщо хочете спростити речі. Ви створили б просту у використанні `` обгортку '', а всі складні біти залишили всередині обгортки, гарантуючи, що ці ускладнені біти не будуть `` оголеними ''.
Наприклад, у вас може бути обгортка .net, яка внизу робить виклики COM. Якщо у вас не було обгортки, тоді ви були б змушені самі робити ці дзвінки COM. На щастя, з обгорткою ви просто зробите виклики коду обтікання .net - що, в свою чергу, зробить ці виклики COM. І це, сподіваємось, має спростити для вас речі.