एब्स्ट्रैक्शन ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (ओओपी) के मूलभूत सिद्धांतों में से एक है जो जटिल कार्यान्वयन विवरणों को छिपाने और केवल आवश्यक कार्यात्मकताओं को दिखाने के लिए एक सिस्टम की क्षमता को संदर्भित करता है। अमूर्तन का लक्ष्य उपयोगकर्ताओं को इस बात पर ध्यान केंद्रित करने की अनुमति देकर जटिल वस्तुओं के साथ बातचीत को सरल बनाना है कि कोई वस्तु यह कैसे करती है, बजाय इसके कि वह यह कैसे करती है।
व्यवहार में, अमूर्तता को अमूर्त वर्गों और इंटरफ़ेस के उपयोग के माध्यम से पूरा किया जाता है, जो उन व्यवहारों को परिभाषित करते हैं जिन्हें उपवर्गों या ठोस वर्गों द्वारा लागू किया जाना चाहिए।
एब्स्ट्रैक्शन कई लाभ प्रदान करता है:
सार वर्ग आपको उन तरीकों को परिभाषित करने की अनुमति देते हैं जिनका कोई कार्यान्वयन नहीं है (सार तरीके) और ठोस तरीके जिनका उपयोग उपवर्गों द्वारा किया जा सकता है। आइए आकृति नामक एक अमूर्त वर्ग और वृत्त और आयत उपवर्गों के साथ एक उदाहरण बनाएं।
// Classe abstrata public abstract class Forma { // Método abstrato public abstract double calcularArea(); // Método concreto public void imprimirArea() { System.out.println("A área é: " calcularArea()); } }
// Subclasse Circulo public class Circulo extends Forma { private double raio; public Circulo(double raio) { this.raio = raio; } // Implementando o método calcularArea @Override public double calcularArea() { return Math.PI * raio * raio; } }
// Subclasse Retangulo public class Retangulo extends Forma { private double largura; private double altura; public Retangulo(double largura, double altura) { this.largura = largura; this.altura = altura; } // Implementando o método calcularArea @Override public double calcularArea() { return largura * altura; } }
public class Main { public static void main(String[] args) { Forma circulo = new Circulo(5); Forma retangulo = new Retangulo(4, 6); // Imprimindo áreas circulo.imprimirArea(); // Saída: A área é: 78.53981633974483 retangulo.imprimirArea(); // Saída: A área é: 24.0 } }
A área é: 78.53981633974483 A área é: 24.0
इंटरफ़ेस अमूर्तता को लागू करने का एक और तरीका है। वे उन तरीकों को परिभाषित करते हैं जो उन्हें लागू करने वाले वर्गों को प्रदान करना होगा, लेकिन वे कोई डिफ़ॉल्ट कार्यान्वयन प्रदान नहीं करते हैं।
// Interface public interface Forma { double calcularArea(); void imprimirArea(); }
// Classe Circulo implementando a interface public class Circulo implements Forma { private double raio; public Circulo(double raio) { this.raio = raio; } @Override public double calcularArea() { return Math.PI * raio * raio; } @Override public void imprimirArea() { System.out.println("A área do círculo é: " calcularArea()); } }
// Classe Retangulo implementando a interface public class Retangulo implements Forma { private double largura; private double altura; public Retangulo(double largura, double altura) { this.largura = largura; this.altura = altura; } @Override public double calcularArea() { return largura * altura; } @Override public void imprimirArea() { System.out.println("A área do retângulo é: " calcularArea()); } }
public class Main { public static void main(String[] args) { Forma circulo = new Circulo(5); Forma retangulo = new Retangulo(4, 6); // Imprimindo áreas circulo.imprimirArea(); // Saída: A área do círculo é: 78.53981633974483 retangulo.imprimirArea(); // Saída: A área do retângulo é: 24.0 } }
A área do círculo é: 78.53981633974483 A área do retângulo é: 24.0
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में एब्स्ट्रैक्शन एक मौलिक अवधारणा है जो सरल, पुन: प्रयोज्य और बनाए रखने में आसान सिस्टम बनाने में मदद करता है। अमूर्त वर्गों और इंटरफेस का उपयोग करके, डेवलपर्स कार्यान्वयन जटिलता को छिपा सकते हैं, जिससे उपयोगकर्ताओं और सिस्टम के अन्य हिस्सों को सहज तरीके से वस्तुओं के साथ बातचीत करने की अनुमति मिलती है। प्रभावी ऑब्जेक्ट-ओरिएंटेड सॉफ़्टवेयर विकास के लिए अमूर्तता को समझना और लागू करना महत्वपूर्ण है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3