Sunday, August 26, 2012

Object அறிவிப்பு-java 12ம் பாடம்.




ஒரு கிளாஸை உருவாக்குதல் என்பது புதியததாக datatype உருவாக்குதலுக்கு சமம்.எப்படி ஒரு வேரியபிள் இன்ட் அல்லது ஃப்லோட் என்கின்றோமோ அதே போல் ஒரு ஆப்ஜெக்ட் ஆனது அந்த கிளாஸை சார்ந்ததாகும்.
ஆப்ஜெக்ட் இரு நிலைகளில் உருவாக்கப்படுகின்றது. முதலில் அந்த கிளாஸிற்கு வேரியபிளாக அறிவிக்கப்படுகின்றது இரண்டாவது நிலையில் ஆப்ஜெக்டின் physical copy ஆனது அந்த வேரியபிளுக்கு assign செய்யப்படுகின்றது
உதாரணமாக

Box mybox=new Box();

இந்த statement ஆனது இரண்டு statementகளை கம்பைன் செய்ததாகும்.

Box mybox;
Mybox=new Box();

முதல் வரியானது mybox என்னும் reference , Box டைப் ஆக அறிவிக்கப்படுகின்றது.இந்த அறிவிப்பிற்கு பிறகு mybox ஆனது null value கொண்டிருக்கின்றது..இரண்டாவது வரியானது ஆப்ஜெக்ட்டை உருவாக்கி mybox க்கு reference assign செய்கின்றது.உண்மையில்  mybox ஆனது Box ஆப்ஜெக்ட்டின் நினைவக முகவரியை கொண்டிருக்கிறது.

new operator:
 

new operator ஆனது ஆப்ஜெக்டிற்கு ரன் டைமில் (இயக்க நேரத்தில் நினைவத்தை ஒதுக்குகின்றது.

Syntax:
Class-var=new Classname();
 இங்கு class-var ஆனது ஆப்ஜெக்ட் ஆகும். Classname ஆனது எந்த class ன்  ஆப்ஜெக்ட் உருவாக்கப்படுகின்றதோ அந்த கிளாஸின் பெயராகும்.class name ஐ தொடரும் parentheses ஆனது constrrucorஐ குறிக்கின்றது. Constructor  என்றால் என்ன என்று வரும் பாடங்களில் பார்ப்போம்.

ஆப்ஜெக்ட் assigning.








Box b1=new Box();
Box b2=b1;

நாம் நிணைப்பது போல் b2 விற்கு b1 assign செய்ய படுவதில்லை.
உண்மையில் b1,b2 இரண்டுமே ஒரே ஆப்ஜெக்டை ரெஃபெர் செய்கின்றன.b2விற்கு என்று ஆப்ஜெக்டின் நினைவகம்  ஒதுக்க படுவதில்லை. B1 எந்த நினைவகத்தை point செய்கின்றதோ அதே Box classந் நினைவகத்தை b2ம்  point செய்கின்றது.
 class Box
{
double width;
double height;
double depth;
}
class BoxDemo
{
public static void main(String args[])
{
Box mybox1=new Box();
Box mybox2=new Box();
double vol;
mybox1.width=10;
mybox2.height=20;
mybox.depth=15;

mybox2.width=3;
mybox2.height=6;
mybox2.depth=9;

vol=mybox1.width*mybox1.height*mybox1.depth;
System.out.println(“volume is “+vol);

vol=mybox2.width*mybox2.height*mybox2.depth;
System.out.println(“volume is “+vol);

 }
}
---தொடரும்.



ads Udanz

2 comments: