Class
Class එකක් යනු Object එකක් සෑදෙන සැලසුමක්(blueprint) හෝ මූලාකෘතියක්(prototype) වේ. ඒ තුළ එකම වර්ගයේම Object වලට පොදු වූ properties(ලක්ෂණ) හා method(ක්රියාවලි) මොනවාද කියා නිරූපණය කරයි. ප්රධාන වශයෙන් Class එකක පහත සංරචක හා නීති පවතී.- Modifiers - Class එකක් public හෝ default විය හැක.
- Class name - නමේ මුල අකුර කැපිටල් අකුරක් විය යුතුයි.
- Superclass -parent class එකක් පවතී නම් එය Class name එකට පසුව extends keyword එක සමග සමග සදහන් කළ යුතුයි. Java වලදී දාන්න පුලුවන් එක් parent class නාමයක් පමණි.
- Interfaces - class එක Interfaces එක හෝ කිහිපයක් මත රදා පවතී නම් ඒ Interfaces වල නම් කොමා ලකුණින් බෙදා implements keyword එක සමග සමග සදහන් කළ යුතුයි. class එකකට Interfaces එකක් හෝ කිහිපයක් තිබිය හැක.
- Body - Class එකේ Body එක සගල වරහනින් ආවරණය විය යුතුයි.
අලුත් object එකක් ඇරඹීම සදහා Constructors භවිතා කරයි. Variables ආදියෙන් එහි(class එකේ හා එහි Object ) තත්වය හා අවස්ථා(state එක) නිරූපනය කරයි. methods භාවිතා කරන්නේ එහි හැසිරිම්(behavior) දැක්වීමටයි.
Java හි real time applications තුළ භාවිතා කරන විවිධා ආකාරයේ Class වර්ග පවති.
- Inner class(nested class)
- Anonymous Inner Class
- Lambda Expressions
Object
object එකක් යනු Object oriented programming වල හා සැබෑ ජීවිතයේ ඇති දේ වලට මූලික එකකයකි. Object එකකට පහත සදහන් ගුණාංග පවති.
- State - මෙය Object එකක attributes මගින් නිරූපනය කරනවා. තවද මෙය Object එකේ ගුණයන් දක්වයි.
- Behavior - මෙය Object එකක method මගින් නිරූපනය කරනවා. තවද මෙය Object එකක් තවත් Object එකකට දෙන ප්රතිචාරය දක්වයි.
- Identity -මෙය Object එකකට අනන්ය(unique) නාමයක් හා Object එකකට තවත් Object එකකට සම්බන්වීමේ ඉඩ ලබා දේ.
උදාහරණය - බල්ලා සලකමු.
Identity:- Dog
State:- color, age, breed, country, gender
Behavior:-Bark, Sleep, Eat, Run
Object එකක් නිර්මාණය කිරීම English වලදී පහත ආකාර දෙකකට කියනවා
- Declaring Objects
- Instantiating a class
මෙම නිර්මාණය කළ Object එක instance ලෙසද හදන්වයි. Class එකෙන් සාදන සෑම instance එකකට ම Class එකේ State ටික හා Behavior ටික ලැබේ. නමුත් ඒවායේ attributes එක් එක් object එකට අනන්ය වේ. තනි Class එකක instances කිහිපයක් තිබිය හැක.
උදාහරණ
- Dog dog1;
- dog1=new Dog("tommy", 6, male,"shepard");
line 1 දී Object නිර්මාණය නෙවෙන නමුත් dog1 ට Object එකක් හදන තුරු එයට තීරණය නොවු වටිනාකමක් පවතී. එනම් වටිනාකම nullවේ. එය බොහෝ විට එය Java වල stack memory තුළ ගබඩා වේ. line 2 දී new භවිතා කර Object නිර්මාණය කර තිබේ. මෙම Object ගබඩා වෙන්නේ stack එක තුළ නොවේ heap memory එක තුළයි. stack එකේ ඇති dog1 කියන variable එක heap memory එක තුළ ඇති Object(new Dog("tommy", 6, male,"shepard");)
එක refer කරන නිසා dog1 කියන variable එක reference variable එකක් වේ.
Object එකක් Initialize කිරීම
Java හි new කියන operator එක භාවිතා කරන්නේ අලුත් object එකකට memory එකේ ඉඩක් ලබා ගෙන object එක නිර්මාණය කිරීමටය. තවද එමගින් Constructor එක ද call කරයි. Constructor එකක් Class එකේ නැතැත් Object එක නිර්මාණය වන අවස්ථාවේ ස්වයංක්රීයව argument නොමැති Constructor එකක් සාදා all කරයි. එය compiler එක සිදුකරයි.
No comments:
Post a Comment