What is Data Abstraction ? - NayiPathshala

Breaking

Total Pageviews

Loading...

Search Here

9/23/2017

What is Data Abstraction ?

What is Data Abstraction ?


किसी System की Inner Working को Hide करके उसे उपयोग में लेने के लिए एक Well 

Defined Interface तैयार करने की प्रक्रिया को हम Encapsulationकहते हैं। Create होने वाले  
 Object को Real World में जब Use करना होता है, तब हम उसी Well Defined Interface  

द्वारा उस Object के Data को Access करते हैं। Encapsulationका सबसे अच्छा उदाहरण एक  
Watch का लिया जा सकता है। एक Wristwatch किस प्रकार से काम करता है, Internally  

उस Wristwatch में क्या प्रक्रिया होती है, Wristwatch चाहे Analog हो या Digital, वह किस  

प्रकार से  Hours, Minutes Seconds को Manage करता है, यानी Wristwatch की Internal 

Working से हमें तब तक कोई मतलब नहीं होता है, जब तक कि Wristwatch सही तरीके से  

काम करती है। हम केवल समय जानने के लिए किसी Wristwatch को Use करते हैं। Data  

Data पर Perform होने वाले Operations के Functions को एक Unit के रूप में Bind  

करके Object की Class बनाने की प्रक्रिया को Encapsulationकहते हैं। इस Encapsulation के  
 Concept के आधार पर बननेवाली Class के Data को केवल उसी Class में Define किए गए  

Member Functions ही Access कर सकते हैं। इन Member Functions के अलावा कोई भी  

External Function उस Specific Class के Data को Access नहीं कर सकता है।यानी किसी  

Class के अन्दर Define किए गए Member Function ही Program Object के Data के बीच 

Interfaceप्रदान करते हैं। बिना इन Member Function के Main Function, किसी अन्य  

Class में Define किया गया Member Function या कोई भी अन्य User Defined External 

Function उस Specific Object के Data को Access नहीं कर सकता है।यानी Main Program  
 से Object का Data पूरी तरह सेInsulatedया अलग होता है। इस Insulation के कारण किसी  

Specific Object का Data किसी अन्य User Defined External Function या Main Program  

से छुपा हुआ रहता है। इसलिए इस Insulation की प्रक्रिया कोData Hidingकहते हैं।Data 

 Abstraction एक ऐसी प्रक्रिया होती है, जिसमें किसी समस्या से सम्बंधित जरूरी बातों को  

बिना जरूरी बातों से अलग किया जाता है। फिर उन जरूरी बातों को समस्या के किसी Object  
की Properties के रूप में Describe किया जाता है  उदाहरण के लिए मान लो कि किसी Company के Administrator को अपनी  

Company के सभी Employees की Educational Information की जानकारी रखनी है। इस  

स्थिति में किसी Employee की विभिन्न Properties निम्नानुसार हो सकती हैं-.

 Name Of the Employee.Father’s Name of the Employee
*. Address of the Employee
*. City of the Employee
*. State of the Employee
*. Country of the Employee
*. Date Of Birth of the Employee
*. Education Of the Employee
*. Hobbies of the Employee
*. Experience in the Company of the Employee
*. Extra Degree Of the Employee
*. Cast of the Employee
*. Religion of the Employee 

किसी Employee की और भी बहुत सी विशेषताएं हो सकती हैं, लेकिन चूंकि समस्या में  

Company के Administrator को अपने Employees की केवल Educational Information से  

ही मतलब है, शेष Information का Company के Administrator के लिए कोई उपयोग नहीं है,  
इसलिए Administrator की समस्या से सम्बंधितजरूरी बातें केवल निम्नानुसार ही हैं-.

 Name Of the Employee.Education Of the Employee 

*. Extra Degree Of the Employeeइनके अलावा एक Employee की जो भी Information हैं,  

वे इस समस्या के लिए जरूरी नहीं हैं, हालांकि किसी अन्य समस्या के लिए ये जरूरी हो सकती  
हैं।इस तरह से हमने एक Employee की विभिन्न विशेषताओं में से उन विशेषताओं को अलग  

किया जो Company के Administrator के लिए जरूरी हैं या हमारी Current समस्या से  

सम्बंधित हैं। इस प्रक्रिया को हीAbstraction कहते हैं।किसी अन्य समस्या जैसे कि Employees  
के Bio Data को Manage करने वाली Class को Create करते समय ये सभी Information  

जरूरी हो सकती हैं। उस स्थिति में कुछ अन्य बातें होंगी जो Employee के Bio Data से  

सम्बंधित नहीं होंगी। तब भी हमें Employee के विभिन्न Data पर Abstraction की प्रक्रिया को  

लागू करके जरूरी Data को बिना जरूरी Data से अलग करना होगा। जब हम किसी समस्या  

के समाधान के लिए किसी Object की जरूरी बातों को बिना जरूरी बातों से अलग कर लेते हैं,  
तब हमें समस्या से संबंधितजरूरी Properties प्राप्त होती हैं। यानी Object की विभिन्न Properties  पर Data Abstraction की Process को Apply करने के बाद जो जरूरी  

Properties प्राप्त होती  हैं, उन Properties को Class के Attributes के रूप में Define कर  

लिया जाता है और इन Attributes या Properties की State या स्थिति में परिवर्तन करने वाले  

Operations के Functions को Attributes के साथ एक Unit के रूप में Encapsulate कर  

लियाजाता है, जिससे एक Description बन जाता है।फिर इस Description को एक नाम दे  

दिया जाता है, जो कि किसी Classको Represent करता है, यानी हम एक नई Class बना लेते  

हैं।चूंकि हम जानते हैं कि Class OOPS में एक नए User Defined Data Type को Represent  

करता है और हम जो Class बनाते हैं, उस Class मेंAbstractionप्रक्रिया के बाद प्राप्त हुए  

Attributes होते हैं, इसलिए इस नए Createहोने वाले Data Type को Abstract Data Typeभी  

कहते हैं।

No comments:

Post a Comment