चार स्तंभ हैं Encapsulation, Abstraction, Inheritance, और Polymorphism। एक साथ, वे वर्णन करते हैं कि OOP कोड को कैसे व्यवस्थित और पुनः उपयोग करता है।
चार स्तंभ हैं Encapsulation, Abstraction, Inheritance, और Polymorphism। एक साथ, वे वर्णन करते हैं कि OOP कोड को कैसे व्यवस्थित और पुनः उपयोग करता है।
| स्तंभ | मुख्य विचार |
|---|
| Encapsulation | डेटा + व्यवहार को बंडल करो; आंतरिक स्थिति को नियंत्रित इंटरफेस के पीछे छुपाओ |
| Abstraction | क्या एक वस्तु करती है यह प्रकट करो, कैसे करती है यह छुपाओ |
| Inheritance | एक सबक्लास माता-पिता वर्ग का पुनः उपयोग और विस्तार करता है |
| Polymorphism | एक इंटरफेस, कई कार्यान्वयन रनटाइम पर चुने जाते हैं |
abstract class Shape { // ABSTRACTION: "what", not "how"
abstract double area(); // each shape decides its own formula
}
class Circle extends Shape { // INHERITANCE: Circle is a Shape
private double r; // ENCAPSULATION: r is private
Circle(double r) { this.r = r; }
double area() { return Math.PI * r * r; } // POLYMORPHISM: own area()
}
class Square extends Shape {
private double s;
Square(double s) { this.s = s; }
double area() { return s * s; }
}
Shape shape = new Circle(2); // POLYMORPHISM in action:
System.out.println(shape.area()); // calls Circle.area() at runtime
ये उपकरण हैं, लक्ष्य नहीं। जहां इसकी आवश्यकता नहीं है, वहां inheritance या abstraction को मजबूर करने से जटिलता पैदा होती है। समस्या में फिट होने वाले स्तंभ का उपयोग करो।
ये चार शब्द OOP डिजाइन की साझी शब्दावली हैं — साक्षात्कार और कोड समीक्षा मानते हैं कि आप उन्हें जानते हैं।
प्रत्येक स्तंभ एक ठोस लाभ का नक्शा तैयार करता है: encapsulation invariants की रक्षा करता है, abstraction को कम करता है जो आपको समझना चाहिए, inheritance और polymorphism पुनः उपयोग और विस्तारयोग्यता सक्षम करते हैं।
विस्तृत उत्तरों के साथ IT इंटरव्यू प्रश्नों की एक लाइब्रेरी — जूनियर से सीनियर तक।
दान करें