Abstraktion og Encapsulation eru bæði grundvallar hlutbundin forritunar (OOP) hugtök sem gera þér kleift að innleiða raunverulega hluti í forrit og kóða. Þó að báðir haldist í hendur eru þeir mjög ólíkir hver öðrum. Þó að hver aðferð sé umbreyting er hún einnig abstrakt. Á einfaldan hátt, þegar þú setur mismunandi hluti saman til að skapa einingu, þá skapar þú í raun hugtak - ágrip. Þó að báðir séu tæknilega óaðskiljanlegir hafa þeir bókstaflega ekkert sameiginlegt. Það er nánast rétt að öll umbreyting er abstrakt vegna þess að þau fela bæði eitthvað, en þau hafa sinn hlut af mismuninum.

Hvað er abstrakt?

Útdráttur er grunn OOP hugtak sem einbeitir sér að viðeigandi gögnum hlutar og felur allar óviðeigandi upplýsingar sem kunna að vera eða ekki fyrir almenna eða sérhæfða hegðun. Það felur bakgrunnsupplýsingar og leggur áherslu á nauðsynleg atriði til að draga úr flækjum og auka skilvirkni. Í grundvallaratriðum er abstrakt forritunartæki til að stjórna margbreytileika. Abstrakt beinist að hugmyndum frekar en atburðum. Það felur upplýsingar um hönnunarstig með því að veita notendum virkni. Hluturinn sem myndast getur einnig verið kallaður abstrakt. Forritarinn sér til þess að nafngreind eining muni hafa alla nauðsynlega þætti innifalinn og engan af þeim óviðeigandi.

Við skulum taka raunverulegt dæmi um abstrakt. Við skulum skoða mál ökutækis, sem í þessu tilfelli er ökutækið þitt. Vélvirki reynir að gera við bílinn þinn eða segjum ákveðinn hluta bílsins. Hérna ertu notandinn og þú vilt ekki komast inn í sérkenni bílsins eða hvaða hlutur brotnaði í raun. Þér er ekki sama um þá hluti; þú vilt bara hafa bifreiðina aftur í upprunalegt horf án þess að hafa áhyggjur af smáatriðunum. Svo þú sagðir reyndar vélvirkjanum hvað þú vilt með því að aðgreina útfærsluhlutann. Þetta er abstrakt. Þú einbeittir þér að því mikilvægasta, sem er að laga bílinn þinn, frekar en að einbeita þér að sérstöðu.

Mismunur á abstrakt og umbreytingu

Hvað er umbreyting?

Encapsulation er enn eitt OOP hugtakið sem binst gögn og virka í einn þátt og takmarkar aðgang að sumum íhlutum. Það er eitt helsta grundvallarhugtak OOP sem umbúðir gagna og upplýsinga undir einni einingu. Í tæknilegu tilliti þýðir umbreyting að fela eiginleika til að verja breytur frá utanaðkomandi aðgangi þannig að breyting á einum hluta forrits hefur ekki áhrif á hina hlutina. Þvert á móti, með því að gera upplýsingarnar opnari muntu hætta á misnotkun gagna. Það veitir grunn heiðarleika gagnanna með því að vernda þau fyrir umheiminum. Á einfaldan hátt felur það auka upplýsingar frá umheiminum.

Við skulum taka dæmi um Bluetooth mús. Þú þarft aðeins að vita um hegðun tækisins án þess að hafa áhyggjur af útfærsluupplýsingunum eins og hvers konar skynjarar músin hefur, er hún þráðlaus eða ekki, osfrv. Hvert einasta smáatriði lýsir músinni en óháð smáatriðum er það bara mús. Þú þarft bara viðmót til að nota músina, sem í þessu tilfelli er músarbendillinn. Þetta er umbreyting.

Mismunur á abstrakt og umbreytingu

Þó að bæði séu grundvallarhugtök sem tengjast OOP og þau eru tæknilega óaðskiljanleg, eru þau samt ólík á mörgum sviðum.


  1. Mismunur á „skilgreiningu“ á abstrakt og umbreytingu - abstrakt er grundvallaratriði í OOP sem leggur áherslu á alla nauðsynlega þætti hlutar með því að fela óviðeigandi upplýsingar til að auka skilvirkni og útrýma flækjum. Uppsöfnun er aftur á móti gagnaflutningskerfi sem vefur gögnin og upplýsingarnar í hylki til að takmarka aðgang utan umheimsins.
    Mismunur á „virkni“ abstraktunar og umbreytingar - abstrakt er gagnaflutningskerfi sem undirstrikar aðeins nauðsynlega eiginleika til að gera flókin forrit einfaldari en umbreyting er aftur á móti aðferð til að binda gögn og kóða í eina heild. Hugmyndin er að verja útfærsluupplýsingarnar fyrir utanaðkomandi aðgangi.
    Mismunur á „útfærslu“ á abstrakt og umbreytingu - abstrakt er útfært með abstrakt flokki og viðmóti, meðan umbreyting er útfærð með aðgangsbreytingum. Fimm gerðir af breytingum eru notaðar til að umlykja gögn: Einkamál, Opinber, Innri, Vernd og Vernd Innri.
    Mismunur á „hugmyndinni“ um abstrakt og umbreytingu - Hugmyndin að baki abstraktinu er að einbeita sér að því frekar en hvernig. Umbreyting felur innri vélfræði hvernig. Til dæmis, þegar þú ekur bíl, veistu nákvæmlega hvað bremsupedalinn gerir en þú veist kannski ekki allan ganginn á bak við hann vegna þess að gögnin eru innilokuð.
    Mismunur á „dæmi“ um abstrakt og umbreytingu - Við skulum taka dæmi um snjallsíma. Þú veist hvað það gerir en þú veist kannski ekki hvernig það gerir það sem það gerir. Þér er ekki sama um skjáinn og takkaborðshnappana frekar en að hafa áhyggjur af innri hringrásinni. Hér er snjallsími ágrip þar sem innri útfærsluupplýsingunum er umlukt.

Útdráttur vs umbreyting með samanburðartöflunni

Yfirlit

Þó að bæði séu OOP hugtök sem tengjast gögnum sem fela sig, eru þau nokkuð frábrugðin hvert öðru. Útdráttur snýr einnig að felum eins og hjúpun, en þó að hið fyrra feli margbreytileika, heldur hið síðarnefnda gögnin sem það umlykur með því að stjórna aðgangi að þeim. Abstrakt vísar til hugmyndarinnar um að tákna aðeins nauðsynlega eiginleika með því að fela óviðeigandi upplýsingar til að draga úr margbreytileika umsóknar og auka þannig skilvirkni. Umbreyting vísar hins vegar til hugmyndarinnar um að fela alla innri vélfræði forrits til að verja upplýsingarnar fyrir óæskilegum aðgangi. Það bindur gögnin og upplýsingarnar saman í einn þátt með því að takmarka aðgang að öðrum íhlutum.

Tilvísanir

  • Buyya. Hlutbundin forritun með Java: Nauðsynjar og forrit. NYC: Tata McGraw-Hill menntun, 2009. Prenta
  • McConnell, Steve. Kóði lokið (2. útgáfa). London: Pearson Education, 2004. Prenta
  • Michelsen, Klaus. C # grunnur plús. Indianapolis: Sams Publishing, 2002. Prentun
  • „Lán í mynd: https://stackoverflow.com/questions/742341/difference-between-abstraction-and-encapsulation“