kavitha
09-04-2007, 07:46 AM
http://www.tamilmantram.com/untilled.bmp
ஜாவா புரோகிராமானது கிளாஸ், இன்டர்பேஸ் இணைந்த தொகுப்பால் (Package) ஆனது. கிளாஸ், இன்டர்பேஸ் இவற்றுக்கான வேறுபாடு என்னவென்றால் கிளாஸ் என்பது நேரடியாகவோ,ஆப்ஜெக்ட் மூலமாகவோ செயல்பாட்டுக்கு உதவும் ஜாவாவின் அங்கமாகும்.
ஆனால் இன்டர்பேஸ் என்பது வெறும் அமைப்பு மட்டுமே! அதை நேரடியாக புரோகிராமில் உபயோகிக்க முடியாது. ஆனால் மல்டி லெவல் இன்ஹெரிட்டன்ஸ் (multilevel inheritance) இன்டர்�பேஸ் மூலமே உபயோகிக்கமுடியும். அதேபோல் இன்டர்�பேஸில் மாறாமதிப்புகளை(constants) ஸ்டேட்டிக் (Static)ஆக மட்டுமே கொடுக்கமுடியும். Static என்று கொடுக்கப்பட்ட வேரியபிளோ (variable), மெத்தடோ (method) எந்த கிளாஸில் வரையறுக்கப்பட்டிருக்கிறதோ அதற்கும் அதன் துணை கிளஸிற்கும் அப்படியே எடுத்தாளுக்கூடியதாக இருக்கும். அதாவது அதற்கென்று தனி இன்ஸ்டன்ஸ் (instance) உருவாக்கவேண்டிய அவசியம் இல்லை. அதேபோல் ஸ்டேட்டிக் மெம்பரின் (static member) ஆயுள் ஆணைத்தொடரின் இறுதிவரை இருக்கும்.
Static = புரோகிராம் கம்பைல் ஆகுவதிலேயிருந்து புரோகிராம் முடியும் வரை நினைவகத்தில் செயலாற்றலோடு இருக்கும்
Dynamic = ரன் டைமில் (runtime) _ இயக்க நேரத்தில் மட்டுமே நினைவகத்தில் செயலாற்றலோடு இருக்கும்.
3 வகையான கிளாஸ் / இன் டர்பேஸ்:
1. பொதுவகை (பப்ளிக் : Public) _ எந்த கிளாஸ் வேண்டுமானாலும் உபயோகிக்கலாம்.
2. தனிவகை (ப்ரைவேட்: Private) _ அதற்குரிய கிளாஸ் மட்டுமே உபயோகிக்கமுடியும்.
3. பாதுகாக்கப்பட்டவகை (புரொடெக்டட் _ Protected) - அதற்குரிய கிளாஸ் அனுமதித்தால் மட்டுமே மற்றவை உபயோகிக்கமுடியும்.
ஜாவாவில் பலவகையான பேக்கேஜ் (package) தொகுப்புகள் உள்ளன. ஒவ்வொன்றும் ஒவ்வொரு பயனுக்காக உருவாக்கப்பட்டிருக்கிறது.
பேக்கேஜ் பயன்படுத்த விதி (syntax)
1. import packagename.classname;
2. import packagename.interfacename;
3. import packagename.*;
எ.டு.
1. import java.io _ உள்ளீடு/வெளியீட்டிற்காக (input/output)
2. import java.net _ இணைப்புகளுக்காக (network)
3. import java.math _ கணக்கீடுகளுக்காக (mathematical)
4. import java.media - கடத்திகளுக்காக (multimedia/networkmedia)
ஜாவாவின் கட்டமைப்பில் முதலிடத்தைப்பிடிப்பது இந்த பேக்கேஜ்-கள் தான். ஒவ்வொரு புரோகிராமும் அது இயங்குவதற்குத் தேவையான துணைப்புரோகிராம்களை இங்கிருந்தே பெற்றுக்கொள்கின்றன.
1. ஒவ்வொரு புரோகிராமையும் அதன் பப்ளிக் கிளாசின் பெயரிலோ அல்லது பப்ளிக் இன்டர்பேசின் பெயரிலோ சேமிக்கவேண்டும் (அதே பெயரில் இருந்தால் குழப்பம் நேராது என்பதற்காக/ அல்லது எந்த பெயரில் எழுதப்பட்டிருக்கிறதோ அதை இன்டர்பிரட்டருக்காக இயக்கவேண்டி இருக்கும்)
2. ஒவ்வொரு புரோகிராமையும் .java என்னும் விகுதியோடுதான் சேமிக்கவேண்டும்
3. ஒரு புரோகிராம் எத்தனை கிளாஸ் வேண்டுமானாலும் பெற்றிருக்கலாம். ஆனால் அது ஒரே ஒரு பப்ளிக் க்ளாஸ் அல்லது பப்ளிக் இன்டர்பேசை கண்டிப்பாக பெற்றிருக்க வேண்டும்.
ஜாவாவில் பயன்படுத்தப்படும் எழுத்துக்கள்:
கீபோர்டில் இருக்கும் அத்தனை தட்டச்சு எழுத்துக்களையும் (கன்ட்ரோல் கீ, �பங்சன் கீ, விண்டோ கீ தவிர) ஜாவாவில் ஆணைத்தொடருக்காக (program) உபயோகிக்கலாம். ஆங்கில எழுத்துக்கள் a முதல் z வரை, A முதல் Zவரை, எண்கள், கணக்கியல் குறியீடுகள் மற்றும் சிறப்பு குறியீடுகள் அனைத்தும் உபயோகிக்கலாம். ஜாவா உன்னிப்பான உணர்வானாகும்(case sensitive language). மாற்றுக்குறியீடுகள், சிறிய ங்கில எழுத்துக்கள்(small letters), பெரிய ஆங்கில எழுத்துக்கள்(capital letters) என ஒவ்வொன்றும் ஒவ்வொரு மதிப்பீடுகளாகவே ஏற்றுக்கொள்ளப்படும்.
அதாவது name, Name, NAME இந்த மூன்றும் வெவ்வேறு பெயர்களாகவே கருதப்படும்.
சரி! இனி ஜாவாவில் தரவுகளுக்கு (Data) பெயர் வைப்பது எப்படி எனப்பார்ப்போமா?
மாறிகள், மாறிலிகள் (variables, constants)
Variables _ மாறக்கூடிய மதிப்புகளை ஏற்கும் பெயர்களை மாறிகள் எனலாம்.
Constants _ மாறாத மதிப்புகளை ஏற்கும் பெயர்களை மாறிலிகள் எனலாம்
என்னென்ன வகையான தரவு வகைகள் (data types) உள்ளன?
1. int - நினைவகத்தில் எண்களுக்காக 4 பைட்டுகளை ஒதுக்கும்
2. char - நினைவகத்தில் எழுத்துக்கு 2 பைட்டுகளை ஒதுக்கும்
3. long - நினைவகத்தில் நீண்ட எண்களுக்காக 8 பைட்டுகளை ஒதுக்கும்
4. float - நினைவகத்தில் தசம எண்களுக்காக 8 பைட்டுகளை ஒதுக்கும்
5. string - நினைவகத்தில் எழுத்துகளுக்காக 2 பைட்டுகளை ஒதுக்கும்
6. byte - நினைவகத்தில் 1 பைட் பைட்டாகவே எழுத ஒதுக்கும்.
Public static void main(String args[])
Public _ பொதுவகையாக அழைக்க
Static _ நினைவகத்தில் காத்திருக்க
Void _ எதையும் திருப்பி அனுப்பக்கூடியது அல்ல
Main _ முதன்மை அழைப்பு
String _ எழுத்துக்களின் தொகுப்பு
args[] _ மெத்தடுக்கு அனுப்ப உதவும் ஒத்த தரவு அமைவுடைய(homogeneous) குழு மாறி(Array) _ arg[] ன் தரவு string வகையாகும்.
இனி ஆணைத் தொடருக்கு செல்வோம்...
class demostatic{
static int x,y, res;
int a;
static void disp()
{
System.out.println("Accessing without objects");
System.out.println(x+" " +y+ " " + res);
}
public static void main(String arg[])
{
demostatic.x = 50;
demostatic.y = 60;
demostatic.res = demostatic.x+demostatic.y;
demostatic.disp();
}
}
பதில்:-
Accessing without objects
50 60 100
இப்பொழுது கீழேயுள்ள ஒரே ஒரு வரியை மட்டும் இணைத்து இயக்கிப்பாருங்கள்.
class demostatic{
static int x,y, res;
int a;
static void disp()
{
System.out.println("Accessing without objects");
System.out.println(x+" " +y+ " " + res);
}
public static void main(String arg[])
{
System.out.println(x+" " +y+ " " + res);
demostatic.x = 50;
demostatic.y = 60;
demostatic.res = demostatic.x+demostatic.y;
demostatic.disp();
}
}
பதில் என்ன?
ஏன்?
.
ஜாவா புரோகிராமானது கிளாஸ், இன்டர்பேஸ் இணைந்த தொகுப்பால் (Package) ஆனது. கிளாஸ், இன்டர்பேஸ் இவற்றுக்கான வேறுபாடு என்னவென்றால் கிளாஸ் என்பது நேரடியாகவோ,ஆப்ஜெக்ட் மூலமாகவோ செயல்பாட்டுக்கு உதவும் ஜாவாவின் அங்கமாகும்.
ஆனால் இன்டர்பேஸ் என்பது வெறும் அமைப்பு மட்டுமே! அதை நேரடியாக புரோகிராமில் உபயோகிக்க முடியாது. ஆனால் மல்டி லெவல் இன்ஹெரிட்டன்ஸ் (multilevel inheritance) இன்டர்�பேஸ் மூலமே உபயோகிக்கமுடியும். அதேபோல் இன்டர்�பேஸில் மாறாமதிப்புகளை(constants) ஸ்டேட்டிக் (Static)ஆக மட்டுமே கொடுக்கமுடியும். Static என்று கொடுக்கப்பட்ட வேரியபிளோ (variable), மெத்தடோ (method) எந்த கிளாஸில் வரையறுக்கப்பட்டிருக்கிறதோ அதற்கும் அதன் துணை கிளஸிற்கும் அப்படியே எடுத்தாளுக்கூடியதாக இருக்கும். அதாவது அதற்கென்று தனி இன்ஸ்டன்ஸ் (instance) உருவாக்கவேண்டிய அவசியம் இல்லை. அதேபோல் ஸ்டேட்டிக் மெம்பரின் (static member) ஆயுள் ஆணைத்தொடரின் இறுதிவரை இருக்கும்.
Static = புரோகிராம் கம்பைல் ஆகுவதிலேயிருந்து புரோகிராம் முடியும் வரை நினைவகத்தில் செயலாற்றலோடு இருக்கும்
Dynamic = ரன் டைமில் (runtime) _ இயக்க நேரத்தில் மட்டுமே நினைவகத்தில் செயலாற்றலோடு இருக்கும்.
3 வகையான கிளாஸ் / இன் டர்பேஸ்:
1. பொதுவகை (பப்ளிக் : Public) _ எந்த கிளாஸ் வேண்டுமானாலும் உபயோகிக்கலாம்.
2. தனிவகை (ப்ரைவேட்: Private) _ அதற்குரிய கிளாஸ் மட்டுமே உபயோகிக்கமுடியும்.
3. பாதுகாக்கப்பட்டவகை (புரொடெக்டட் _ Protected) - அதற்குரிய கிளாஸ் அனுமதித்தால் மட்டுமே மற்றவை உபயோகிக்கமுடியும்.
ஜாவாவில் பலவகையான பேக்கேஜ் (package) தொகுப்புகள் உள்ளன. ஒவ்வொன்றும் ஒவ்வொரு பயனுக்காக உருவாக்கப்பட்டிருக்கிறது.
பேக்கேஜ் பயன்படுத்த விதி (syntax)
1. import packagename.classname;
2. import packagename.interfacename;
3. import packagename.*;
எ.டு.
1. import java.io _ உள்ளீடு/வெளியீட்டிற்காக (input/output)
2. import java.net _ இணைப்புகளுக்காக (network)
3. import java.math _ கணக்கீடுகளுக்காக (mathematical)
4. import java.media - கடத்திகளுக்காக (multimedia/networkmedia)
ஜாவாவின் கட்டமைப்பில் முதலிடத்தைப்பிடிப்பது இந்த பேக்கேஜ்-கள் தான். ஒவ்வொரு புரோகிராமும் அது இயங்குவதற்குத் தேவையான துணைப்புரோகிராம்களை இங்கிருந்தே பெற்றுக்கொள்கின்றன.
1. ஒவ்வொரு புரோகிராமையும் அதன் பப்ளிக் கிளாசின் பெயரிலோ அல்லது பப்ளிக் இன்டர்பேசின் பெயரிலோ சேமிக்கவேண்டும் (அதே பெயரில் இருந்தால் குழப்பம் நேராது என்பதற்காக/ அல்லது எந்த பெயரில் எழுதப்பட்டிருக்கிறதோ அதை இன்டர்பிரட்டருக்காக இயக்கவேண்டி இருக்கும்)
2. ஒவ்வொரு புரோகிராமையும் .java என்னும் விகுதியோடுதான் சேமிக்கவேண்டும்
3. ஒரு புரோகிராம் எத்தனை கிளாஸ் வேண்டுமானாலும் பெற்றிருக்கலாம். ஆனால் அது ஒரே ஒரு பப்ளிக் க்ளாஸ் அல்லது பப்ளிக் இன்டர்பேசை கண்டிப்பாக பெற்றிருக்க வேண்டும்.
ஜாவாவில் பயன்படுத்தப்படும் எழுத்துக்கள்:
கீபோர்டில் இருக்கும் அத்தனை தட்டச்சு எழுத்துக்களையும் (கன்ட்ரோல் கீ, �பங்சன் கீ, விண்டோ கீ தவிர) ஜாவாவில் ஆணைத்தொடருக்காக (program) உபயோகிக்கலாம். ஆங்கில எழுத்துக்கள் a முதல் z வரை, A முதல் Zவரை, எண்கள், கணக்கியல் குறியீடுகள் மற்றும் சிறப்பு குறியீடுகள் அனைத்தும் உபயோகிக்கலாம். ஜாவா உன்னிப்பான உணர்வானாகும்(case sensitive language). மாற்றுக்குறியீடுகள், சிறிய ங்கில எழுத்துக்கள்(small letters), பெரிய ஆங்கில எழுத்துக்கள்(capital letters) என ஒவ்வொன்றும் ஒவ்வொரு மதிப்பீடுகளாகவே ஏற்றுக்கொள்ளப்படும்.
அதாவது name, Name, NAME இந்த மூன்றும் வெவ்வேறு பெயர்களாகவே கருதப்படும்.
சரி! இனி ஜாவாவில் தரவுகளுக்கு (Data) பெயர் வைப்பது எப்படி எனப்பார்ப்போமா?
மாறிகள், மாறிலிகள் (variables, constants)
Variables _ மாறக்கூடிய மதிப்புகளை ஏற்கும் பெயர்களை மாறிகள் எனலாம்.
Constants _ மாறாத மதிப்புகளை ஏற்கும் பெயர்களை மாறிலிகள் எனலாம்
என்னென்ன வகையான தரவு வகைகள் (data types) உள்ளன?
1. int - நினைவகத்தில் எண்களுக்காக 4 பைட்டுகளை ஒதுக்கும்
2. char - நினைவகத்தில் எழுத்துக்கு 2 பைட்டுகளை ஒதுக்கும்
3. long - நினைவகத்தில் நீண்ட எண்களுக்காக 8 பைட்டுகளை ஒதுக்கும்
4. float - நினைவகத்தில் தசம எண்களுக்காக 8 பைட்டுகளை ஒதுக்கும்
5. string - நினைவகத்தில் எழுத்துகளுக்காக 2 பைட்டுகளை ஒதுக்கும்
6. byte - நினைவகத்தில் 1 பைட் பைட்டாகவே எழுத ஒதுக்கும்.
Public static void main(String args[])
Public _ பொதுவகையாக அழைக்க
Static _ நினைவகத்தில் காத்திருக்க
Void _ எதையும் திருப்பி அனுப்பக்கூடியது அல்ல
Main _ முதன்மை அழைப்பு
String _ எழுத்துக்களின் தொகுப்பு
args[] _ மெத்தடுக்கு அனுப்ப உதவும் ஒத்த தரவு அமைவுடைய(homogeneous) குழு மாறி(Array) _ arg[] ன் தரவு string வகையாகும்.
இனி ஆணைத் தொடருக்கு செல்வோம்...
class demostatic{
static int x,y, res;
int a;
static void disp()
{
System.out.println("Accessing without objects");
System.out.println(x+" " +y+ " " + res);
}
public static void main(String arg[])
{
demostatic.x = 50;
demostatic.y = 60;
demostatic.res = demostatic.x+demostatic.y;
demostatic.disp();
}
}
பதில்:-
Accessing without objects
50 60 100
இப்பொழுது கீழேயுள்ள ஒரே ஒரு வரியை மட்டும் இணைத்து இயக்கிப்பாருங்கள்.
class demostatic{
static int x,y, res;
int a;
static void disp()
{
System.out.println("Accessing without objects");
System.out.println(x+" " +y+ " " + res);
}
public static void main(String arg[])
{
System.out.println(x+" " +y+ " " + res);
demostatic.x = 50;
demostatic.y = 60;
demostatic.res = demostatic.x+demostatic.y;
demostatic.disp();
}
}
பதில் என்ன?
ஏன்?
.