தொகுதி பாடங்கள் (1/2)
வகுப்புகள் மற்றும் பொருள்கள்
ஜாவா என்பது பொருள் சார்ந்த நிரலாக்கத்தில் (OOP) கவனம் செலுத்தும் மொழியாகும். OOP இல், பொருட்களைப் பயன்படுத்தி நிஜ உலகத்தை மாதிரியாக்குகிறோம். ஒரு பொருளுக்கு நிலை (தரவு) மற்றும் நடத்தைகள் (செயல்கள்) உள்ளன.
வகுப்புகள் மற்றும் பொருள்கள்
- வகுப்பு: இது ஒரு ப்ளூபிரிண்ட் (அல்லது டெம்ப்ளேட்) ஒரு வகை பொருளின் பண்புகள் மற்றும் நடத்தையை வரையறுக்கிறது.
- பொருள்: இது ஒரு வகுப்பிலிருந்து உருவாக்கப்பட்ட ஒரு உறுதியான நிகழ்வு.
எடுத்துக்காட்டாக, Car வகுப்பாக இருந்தால், கேரேஜில் உள்ள உங்கள் கார்தான் உண்மையான பொருள்.
உதாரணம் புலங்கள் மற்றும் கட்டமைப்பாளர்கள்
ஒரு வகுப்பில் உள்ள தரவு நிகழ்வு புலங்கள் (அல்லது பண்புக்கூறுகள்) எனப்படும். ஒரு பொருளை உருவாக்கும் தருணத்தில் அதன் நிலையைத் தொடங்க, கன்ஸ்ட்ரக்டர் எனப்படும் ஒரு சிறப்பு முறையைப் பயன்படுத்துகிறோம்.
ஒரு கன்ஸ்ட்ரக்டருக்கு ** வகுப்பின் அதே பெயர்** உள்ளது மற்றும் திரும்பும் வகை இல்லை (void கூட இல்லை).
class Dog {
// Instance fields
String name;
int age;
// Constructor
public Dog(String name, int age) {
this.name = name; // 'this' refers to the current object's field
this.age = age;
}
}new உடன் ஒரு பொருளை உருவாக்குதல்
நினைவகத்தில் ஒரு பொருளை உருவாக்க, நாங்கள் new முக்கிய சொல்லைப் பயன்படுத்துகிறோம், அதைத் தொடர்ந்து கிளாஸ் கன்ஸ்ட்ரக்டர்:
public class Main {
public static void main(String[] args) {
// Creating a Dog object
Dog myDog = new Dog("Fido", 3);
// Accessing fields
System.out.println(myDog.name + " is " + myDog.age + " years old.");
}
}this குறிப்பு
ஜாவாவில் உள்ள this முக்கிய சொல், கன்ஸ்ட்ரக்டர் அல்லது ஒரு முறை செயல்படுத்தப்படும் தற்போதைய பொருளைக் குறிக்கிறது. கன்ஸ்ட்ரக்டர் அளவுருக்கள் பொருளின் நிகழ்வு புலங்கள் (மாறி நிழல்) போன்ற அதே பெயரைக் கொண்டிருக்கும் போது தெளிவின்மையைத் தவிர்க்க இது முதன்மையாகப் பயன்படுத்தப்படுகிறது:
class User {
String username;
public User(String username) {
this.username = username; // this.username is the instance field, username is the parameter
}
}நினைவக ஒதுக்கீடு: ஸ்டேக் vs ஹீப்
ஜாவா நினைவகத்தை எவ்வாறு ஒதுக்குகிறது என்பதைப் புரிந்துகொள்வது அவசியம்:
- ஸ்டாக்: இது ஒரு வேகமான மற்றும் ஒழுங்கமைக்கப்பட்ட நினைவகப் பகுதியாகும், அங்கு பழமையான மாறிகள் மற்றும் பொருள் குறிப்புகள் (நினைவக முகவரிகள்) உள்ளூர் முறைகள் சேமிக்கப்படும்.
- குவியல்: இது ஒரு பெரிய மற்றும் மாறும் நினைவகப் பகுதியாகும், அங்கு உண்மையான பொருள்கள் ஒதுக்கப்படுகின்றன (
newமுக்கிய சொல்லைப் பயன்படுத்தி).
நாங்கள் Dog myDog = new Dog("Fido", 3); அறிவிக்கும்போது:
- குறிப்பு
myDogஸ்டேக்கில் உருவாக்கப்பட்டது. - உண்மையான
Dogபொருள் அதன் தரவுகளுடன் குவியல் இல் உருவாக்கப்பட்டது. myDogமாறி குவியல் பொருளின் இருப்பிடத்தைக் குறிக்கிறது.
நீங்களே முயற்சி செய்து பாருங்கள்
புலம் பெயர் மற்றும் பொருத்தமான கட்டமைப்பாளரைச் சேர்ப்பதன் மூலம் நபர் வகுப்பை முடிக்கவும். பின்னர், பிரதான முறையில், ஆலிஸ் என்ற பெயருடன் p என்ற நபரின் பொருளை உருவாக்கவும்.
குறிப்பைக் காட்டு
வகுப்பிற்குள் `சரம் பெயர்;` என எழுதவும், கட்டமைப்பாளரை அறிவிக்கவும் `பொது நபர்(சரம் பெயர்) { this.name = name; }` மற்றும் அதை `புதிய நபர்('ஆலிஸ்')` மூலம் உடனடியாக உருவாக்கவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
புலங்கள் தலைப்பு (சரம்) மற்றும் பக்கங்கள் (int), ஒரு முழுமையான கட்டமைப்பாளருடன் ஒரு புத்தக வகுப்பை உருவாக்கவும், மேலும் முக்கிய முறையில் மொபி டிக் மற்றும் 600 பக்கங்கள் கொண்ட b என்ற புத்தகத்தை உடனடியாக உருவாக்கவும்.
குறிப்பைக் காட்டு
புத்தகத்தில் உள்ள இரண்டு புலங்களையும் வரையறுக்க நினைவில் வைத்து, `this.title = தலைப்பு;` மற்றும் `this.pages = பக்கங்கள்;` ஆகியவற்றைப் பயன்படுத்தி கட்டமைப்பாளரில் வரைபடத்தை உருவாக்கவும், மேலும் `புதிய புத்தகத்தைப் ('Moby Dick', 600)' பயன்படுத்தவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
புலங்களின் பெயர் (சரம்) மற்றும் விலை (இரட்டை) கொண்ட தயாரிப்பு வகுப்பை உருவாக்கவும், மேலும் இரு புலங்களையும் துவக்கும் கட்டமைப்பாளரையும் உருவாக்கவும். பிரதான முறையில், லேப்டாப் மற்றும் விலை 999.99 உடன் p என்ற பெயரிடப்பட்ட தயாரிப்பு பொருளை உருவாக்கவும்.
குறிப்பைக் காட்டு
தயாரிப்பில் `சரம் பெயர்;` மற்றும் `இரட்டை விலை;` புலங்களை அறிவித்து, அவற்றை கன்ஸ்ட்ரக்டரில் `this.name = name;` மற்றும் `this.price = price;` என ஒதுக்கி, இறுதியாக பிரதான முறையில் பொருளை உருவாக்கவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்