Wiki यह बहुत ठीक
डेटा एब्सट्रैक्शन
डाटा अमूर्त डालता एक डेटा प्रकार का सार गुण और उसके कार्यान्वयन की ठोस जानकारी के बीच एक स्पष्ट जुदाई लागू करता है। अमूर्त गुण वे हैं जो क्लाइंट कोड के लिए दृश्यमान होते हैं जो डेटा प्रकार का उपयोग करते हैं-डेटा प्रकार के लिए इंटरफ़ेस-जबकि ठोस कार्यान्वयन पूरी तरह से निजी रखा जाता है, और वास्तव में बदल सकता है, उदाहरण के लिए समय के साथ दक्षता में सुधार शामिल करना। विचार यह है कि इस तरह के परिवर्तन क्लाइंट कोड पर कोई प्रभाव नहीं पड़ता है, क्योंकि उनमें अमूर्त व्यवहार में कोई अंतर नहीं है। उदाहरण के लिए, कोई एक सारणी डेटा प्रकार को परिभाषित कर सकता है जिसे लुकअप टेबल कहा जाता है जो विशिष्ट रूप से मानों के साथ कुंजी को जोड़ता है, और जिसमें उनकी संबंधित कुंजी निर्दिष्ट करके मूल्यों को पुनर्प्राप्त किया जा सकता है। ऐसी लुकअप टेबल को विभिन्न तरीकों से कार्यान्वित किया जा सकता है: हैश टेबल, बाइनरी सर्च पेड़, या यहां तक कि एक सरल रैखिक सूची (कुंजी: वैल्यू) जोड़े। जहां तक ग्राहक कोड का संबंध है, इस प्रकार के सार गुण प्रत्येक मामले में समान हैं।
उदाहरण के लिए नमूना जावा खंड को कुछ आम खेतों "जानवरों" को उनके भूख और भोजन के साधारण पहलुओं के मॉडल के लिए उपयुक्त अमूर्तता के स्तर पर प्रतिनिधित्व करने के लिए विचार करें। यह दोनों जानवर के राज्य और अपने कार्यों का प्रतिनिधित्व करने के लिए एक पशु वर्ग की परिभाषा:
public class Animal extends LivingThing
{
private Location loc;
private double energyReserves;
public boolean isHungry() {
return energyReserves < 2.5;
}
public void eat(Food f) {
// Consume food
energyReserves += f.getCalories();
}
public void moveTo(Location l) {
// Move to new location
loc = l;
}
}
उपरोक्त परिभाषा के साथ
, एक प्रकार पशु की वस्तुओं को बनाने और इस तरह उनके तरीकों कह सकते हैं:
thePig = new Animal();
theCow = new Animal();
if (thePig.isHungry()) {
thePig.eat(tableScraps);
}
if (theCow.isHungry()) {
theCow.eat(grass);
}
theCow.moveTo(theBarn);
http://www.javacoffeebreak.com/faq/faq0084.html। –
@ crowso- क्या आप अभी तक उत्तरों के साथ satiesfied नहीं हैं? कृपया उत्तर में से एक को स्वीकार करें –