Classes and Objects
Classes और objects क्या हैं
Java object-oriented है, तो सब कुछ classes और objects से बनता है। Class एक blueprint है जो data और व्यवहार बताता है। Object उस blueprint से बनी असली चीज़ है। "Car" एक class है; आपकी ख़ास car एक object है।
new से बनी असली चीज़।Class define करना
class Car {
String color; // field (data)
int speed; // field (data)
void drive() { // method (action)
System.out.println(color + " car driving");
}
}
Class संबंधित data (जैसे color fields) और actions (जैसे drive methods) को group करता है। यह blueprint अपने-आप कुछ नहीं करता जब तक हम इससे object न बनाएँ।
Object बनाना
Car c = new Car(); // object बनाओ c.color = "Red"; // उसका data set करो c.speed = 80; c.drive(); // उसकी method call करो
new keyword class से object बनाता है। c उसका reference रखता है, और हम fields set करने व methods call करने को dot (.) इस्तेमाल करते हैं।
Fields और methods
- Fields (instance variables) object का data रखते हैं —
color,speed। - Methods वो हैं जो object कर सकता है —
drive()। - दोनों को dot operator से पहुँचते हैं:
c.color,c.drive()।
साथ में, fields और methods बताते हैं object क्या जानता और कर सकता है।
कई objects, अपना data
Car a = new Car(); a.color = "Red"; Car b = new Car(); b.color = "Blue"; a.drive(); // Red car driving b.drive(); // Blue car driving
Blue car driving
Class से बना हर object अपने fields रखता है। a और b अलग cars हैं अलग रंगों के साथ — एक बदलना दूसरे को प्रभावित नहीं करता।
Fields इस्तेमाल करती methods
class Student {
String name;
int marks;
void result() {
String r = (marks >= 40) ? "Pass" : "Fail";
System.out.println(name + ": " + r);
}
}
// इस्तेमाल:
Student s = new Student();
s.name = "Aman"; s.marks = 75;
s.result();
Method object के अपने fields पढ़ सकती है (this के ज़रिए अप्रत्यक्ष रूप से)। यहाँ result() उस student के लिए pass या fail तय करने को name और marks इस्तेमाल करती है।
आम गलतियाँ
newभूलना। Class सिर्फ़ blueprint है; object बनाने कोnewचाहिए।- Object बिना fields इस्तेमाल करना। Non-static fields object के होते हैं, object के ज़रिए पहुँचे।
- File बनाम class नाम। public class file नाम से मेल खानी चाहिए।
- Class और object में confusion। Class design है; object असली चीज़।
सारांश
- Class fields (data) और methods (actions) का blueprint है।
- Object
newसे बनी असली instance है। - Fields और methods को dot operator से access कीजिए।
- हर object fields की अपनी copy रखता है।
- Classes और objects Java में OOP की बुनियाद हैं।
आगे, objects set कीजिए Java constructors से, या code दोबारा इस्तेमाल कीजिए inheritance से।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
Class और object में क्या अंतर है?
Java में object कैसे बनाऊँ?
new keyword इस्तेमाल कीजिए: Car c = new Car();। यह memory में object बनाता है और उसका reference c में store करता है, जिसे आप फिर उसके fields और methods access करने को इस्तेमाल करते हैं।