Java में Object-Oriented Programming (OOP) एक programming paradigm है जिसमें code को structured तरीके से organize करने के लिए डिज़ाइन किया गया है। OOP in java में, सभी functionalities को objects के रूप में model किया जाता है, जो data को encapsulate (समाहित) करते हैं और उसके साथ operations को perform करते हैं। Java में OOP principles में encapsulation, inheritance, polymorphism, और abstraction शामिल हैं। Classes और objects की मदद से, user data को organized तरीके से store किया जा सकता है और उसे various methods के साथ manage किया जा सकता है, जिससे secure, scalable, और maintainable code बनता है। चलो विस्तार से समझते हैं कि oop in java in hindi with example क्या है, और कैसे काम करता है:
Table of Contents
Class और Object:
Java में, Object-Oriented Programming (OOP) एक approach है जो software को ऑब्जेक्ट्स की मदद से डिज़ाइन करता है, जिनमें डेटा और उस पर काम करने वाली विधियाँ encapsulate की जाती हैं। “क्लास” एक टेम्पलेट होती है जो ऑब्जेक्ट्स की विशेषिता और विशेष विधियों को define करती है।
किसी भी क्लास के एक वास्तविक इंस्टेंस को “ऑब्जेक्ट” कहा जाता है, जिसमें उस क्लास की विशेषिता होती हैं और वह उस क्लास के डिफ़ाइन किए गए विधियों को invoke कर सकता है।
Class और Object का example
उदाहरण के लिए, “कार” क्लास बना सकते हैं, जिसमें “ब्रांड” और “मॉडल” जैसे डेटा होता है और “चलाएं” जैसी विधियां होती हैं। इसके बाद, एक ऑब्जेक्ट को बनाकर उसे विशेषित ब्रांड और मॉडल के साथ बना सकते हैं और इसे “टॉयोटा कैमरी” कह सकते हैं।
class Car {
String brand;
int year;
public Car(String brand, int year) {
this.brand = brand;
this.year = year;
}
}
Car myCar = new Car("Toyota", 2024);
Car
नामक एक class बनाई गई है, जिसमेंbrand
औरyear
नामक internal member हैं।Car
class का एक नया objectmyCar
बनाया गया है जिसका ब्रांड “Toyota” है और निर्माण वर्ष 2024 है।
Inheritance in opp in java:
इंहेरिटेंस (Inheritance) जवा में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) का एक सिद्धांत है जो एक क्लास को दूसरी क्लास की सुविधाओं को आगे बढ़ाने की अनुमति देता है। इससे एक क्लास को उसकी मातृका सुविधाओं को बढ़ाकर उसे और शक्तिशाली बनाने का स्कोप होता है और यह वास्तविक दुनियावी स्थितियों को मॉडल करने में सहारा प्रदान करता है।
जब किसी क्लास, जिसे “पैरेंट” या “बेस” क्लास कहा जाता है, बन जाती है, तो हम एक नई क्लास, जिसे “चाइल्ड” कहा जाता है, बना सकते हैं जो “पैरेंट” की सुविधाएं आगे बढ़ा सकती हैं। इससे यह संभावना होती है कि चाइल्ड क्लास, पैरेंट के गुण और व्यावहार का उपयोग करके उन्हें पुनर्गुणात्मक करे। इसके अलावा, यह चाइल्ड क्लास के विशिष्ट विशेषताएं बदलने की अनुमति देता है ताकि हम उसे विशिष्ट आवश्यकताओं के अनुसार साझा कर सकें।
Inheritance in oop in java example in hindi
उदाहरण के लिए, यदि हमारे पास एक “जानवर” की क्लास है, तो हम “बर्ड” या “मैमल” जैसी चाइल्ड क्लासें बना सकते हैं, जो सामान्य सुविधाएं जैसे speed और sound को inherit करती हैं। इन child classes को फिर Typical Properties जैसे कि “fly” बर्ड के लिए या “living animal” Mammal के लिए जोड़ सकती हैं।
Inheritance code का reuse करने, Redundancy को कम करने और specific relationships के आधार पर classes को structured करने के लिए कोड को modular and maintainable बनाने में मदद करता है।
class Animal {
void eat() {
System.out.println("Animal is eating");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog is barking");
}
}
Dog myDog = new Dog();
myDog.eat();
myDog.bark();
Animal
नामक class बनाई गई है जिसमेंeat
नामक एक मेथड है।Dog
classAnimal
class से विरासत में आई है और इसमें नया मेथडbark
है।myDog
नामक एक नयाDog
object बनाया गया है जोeat
औरbark
मेथड को कॉल करता है।
Polymorphism (बहुरूपता):
पॉलीमॉर्फिज़म इन जावा में परिभाषा (Polymorphism in Java Definition): पॉलीमॉर्फिज़म एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) का सिद्धांत है जिसमें एक ही नाम के कार्य को विभिन्न रूपों में इस्तेमाल किया जा सकता है। जावा में, इसका उपयोग विशेषकर ओवरराइडिंग और ओवरलोडिंग के माध्यम से होता है, जिससे एक ही मैथड को विभिन्न क्लासेस में विभिन्न तरीकों से लागू किया जा सकता है।
पॉलीमॉर्फिज़म इन ओओप्स उदाहरण (Polymorphism in OOPs Example):
एक उदाहरण से समझते हैं – एक “जानवर” (Animal) की क्लास में हम “आवाज” (Sound) नामक एक मैथड बना सकते हैं जो विभिन्न जानवरों की आवाज़ को बदलता है। जब हम इस मैथड को “कुत्ता” (Dog) और “बिल्ली” (Cat) क्लासें में लागू करते हैं, तो यह एक पॉलीमॉर्फिक उदाहरण बन जाता है, जिससे वह आवाज विभिन्न तरीकों से संगत होती है।
class Shape {
void draw() {
System.out.println("Drawing a shape");
}
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing a circle");
}
}
Shape myShape = new Circle();
myShape.draw();
Shape
नामक class बनाई गई है जिसमेंdraw
नामक एक मेथड है।Circle
classShape
class से विरासत में आई है और इसमेंdraw
मेथड को ओवरराइड किया गया है।myShape
नामक एकShape
object बनाया गया है, जो वास्तविकता मेंCircle
class का object है औरdraw
मेथड को कॉल करता है।
जावा में पॉलीमॉर्फिज़म के प्रकार (Types of Polymorphism in Java):
जावा में पॉलीमॉर्फिज़म के दो प्रमुख प्रकार हैं – कंपाइल टाइम पॉलीमॉर्फिज़म (Compile-Time Polymorphism) और रनटाइम पॉलीमॉर्फिज़म (Runtime Polymorphism)। कंपाइल टाइम पॉलीमॉर्फिज़म में, ओवरलोडिंग का उपयोग होता है, जबकि रनटाइम पॉलीमॉर्फिज़म में, ओवरराइडिंग का उपयोग होता है।
पॉलीमॉर्फिज़म इन जावा में (Polymorphism in Java in Hindi):
जावा में पॉलीमॉर्फिज़म एक महत्वपूर्ण ओप्शन है जो कोड को सुजान्हीयता और सुरक्षितता के साथ लिखने में मदद करता है। यह कंपाइल टाइम और रनटाइम पॉलीमॉर्फिज़म के माध्यम से अद्वितीयता प्रदान करता है जो कोड को पुनर्निर्माण करने में मदद करता है और उपयोगकर्ताओं को सुगमता देता है ताकि वे उसे सरलता से समझ सकें।
Abstraction (संक्षेपण):
एब्स्ट्रैक्शन (Abstraction) का परिभाषा (Abstraction Definition): एब्स्ट्रैक्शन एक ओब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) सिद्धांत है जो सिस्टम के एक उच्च स्तर का रूप है जो केवल महत्वपूर्ण और आवश्यक जानकारी को हाथ में रखता है, जिससे उपयोगकर्ता को केवल उपयोगी और सार्थक विवरण मिलता है।
जावा में एब्स्ट्रैक्शन के प्रकार (Types of Abstraction in Java):
जावा में एब्स्ट्रैक्शन के दो प्रमुख प्रकार हैं – डेटा एब्स्ट्रैक्शन और मेथड एब्स्ट्रैक्शन। डेटा एब्स्ट्रैक्शन में, केवल उपयोगकर्ता को उच्च स्तर की जानकारी होती है जो स्थिति को दर्शाती है, जबकि मेथड एब्स्ट्रैक्शन में, केवल महत्वपूर्ण कार्रवाईयों का विवरण दिया जाता है और विवरण छोड़ा जाता है।
जावा में एब्स्ट्रैक्शन (Abstraction in Java in Hindi):
जावा में Abstraction सोफ़्टवेयर डेवेलपमेंट में एक महत्वपूर्ण और आवश्यक तकनीक है जो कोड को सुरक्षित और संवेदनशील बनाए रखने में मदद करता है। इसका उपयोग उपयोगकर्ता को सिर्फ़ उच्च स्तर की जानकारी दिखाने के
एक उदाहरण से समझते हैं – एक “जानवर” (Animal) की क्लास में हम “आवाज” (Sound) मेथड को एक्सेस मोडीफायर के साथ बना सकते हैं, जिससे उपयोगकर्ता को केवल जानवरों की आवाज़ तक ही पहुंचती है। यहां, विवरण छोड़कर केवल महत्वपूर्ण तथ्य दिखाने की प्रक्रिया एब्स्ट्रैक्शन का एक उदाहरण है, जिससे उपयोगकर्ता को केवल उसके आवश्यक जानकारी तक ही पहुंचता है।
ओप्स में एब्स्ट्रैक्शन का उदाहरण (Abstraction in OOPs Example):
abstract class Shape {
abstract void draw();
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing a circle");
}
}
Shape myShape = new Circle();
myShape.draw();
Shape
नामक abstract class बनाई गई है, जिसमें abstract मेथडdraw
है।Circle
classShape
class से विरासत में आई है और इसमेंdraw
मेथड को ओवरराइड किया गया है।myShape
नामक एकShape
object बनाया गया है, जो वास्तविकता मेंCircle
class का object है औरdraw
मेथड को कॉल करता है।
Encapsulation (संगोपन):
एनकैप्सुलेशन (Encapsulation) का परिभाषा (Encapsulation Definition): एनकैप्सुलेशन एक ओब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) सिद्धांत है जो डेटा और उसकी विवरणों को एक ही स्थान पर संग्रहित करने और इसको एक इकट्ठा यूनिट में पैकेज करने का कारणीयता और सुरक्षा प्रदान करता है। यह डेटा को गोपनीयता में रखता है और इसको उपयोगकर्ताओं से पूर्वाधिकृत तरीके से ही एक्सेस करने की अनुमति देता है।
जावा में एनकैप्सुलेशन के प्रकार (Types of Encapsulation in Java):
जावा में एनकैप्सुलेशन के दो प्रमुख प्रकार हैं – डेटा एनकैप्सुलेशन और मेथड एनकैप्सुलेशन। डेटा एनकैप्सुलेशन में, केवल डेटा को ही संग्रहित किया जाता है, जबकि मेथड एनकैप्सुलेशन में, उस डेटा का प्रबंधन केवल मेथड्स के माध्यम से किया जाता है और विवरण छोड़ा जाता है।
जावा में एनकैप्सुलेशन (Encapsulation in Java in Hindi):
जावा में एनकैप्सुलेशन का उपयोग सोफ़्टवेयर डेवेलपमेंट में सुरक्षितता और उच्च स्तर की गोपनीयता सुनिश्चित करने के लिए किया जाता है। इससे उपयोगकर्ता सीधे डेटा को नहीं देख सकते और विवरणों के साथ केवल मेथड्स का उपयोग करके उसके साथ इंटर
ओप्स में एनकैप्सुलेशन का उदाहरण (Encapsulation in OOPs Example):
उदाहरण के लिए, एक “जानवर” (Animal) की क्लास में हम डेटा को private
एक्सेस मोडीफायर के साथ रख सकते हैं, जिससे केवल वही क्लास उस डेटा को देख सकती है। फिर हम public
Methods का उपयोग करके उस Manage Data कर सकते हैं और इसे another classes से सुरक्षित रूप से access कर सकते हैं।
class Student {
private String name;
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
}
Student myStudent = new Student();
myStudent.setName("John");
System.out.println(myStudent.getName());
Student
नामक class बनाई गई है जिसमेंname
नामक private मेम्बर है।getName
औरsetName
नामक public मेथड्स का उपयोगname
मेम्बर को एक्सेस और मॉडिफाई करने के लिए किया जा रहा है।myStudent
नामक एकStudent
object बनाया गया है और इसमेंsetName
का उपयोग करके नाम को “John” सेट किया गया है, औरgetName
का उपयोग करके नाम को प्रिंट किया गया है।