Tuesday, 5 March 2019

Class හා Object ගැන නොදත් දේ

Class

Class එකක් යනු Object එකක් සෑදෙන සැලසුමක්(blueprint) හෝ මූලාකෘතියක්(prototype) වේ. ඒ තුළ එකම වර්ගයේම Object වලට පොදු වූ  properties(ලක්ෂණ) හා method(ක්‍රියාවලි) මොනවාද කියා නිරූපණය කරයි. ප්‍රධාන වශයෙන් Class එකක පහත සංරචක හා නීති පවතී.
  1. Modifiers - Class එකක් public හෝ default විය හැක.
  2. Class name - නමේ මුල අකුර කැපිටල් අකුරක් විය යුතුයි.
  3. Superclass -parent class එකක් පවතී නම් එය Class name එකට පසුව extends keyword එක සමග සමග සදහන් කළ යුතුයි. Java වලදී දාන්න පුලුවන් එක් parent class නාමයක් පමණි.
  4. Interfaces - class එක Interfaces එක  හෝ කිහිපයක් මත රදා පවතී නම් ඒ Interfaces වල නම් කොමා ලකුණින් බෙදා implements keyword එක සමග සමග සදහන් කළ යුතුයි. class එකකට Interfaces  එකක් හෝ කිහිපයක් තිබිය හැක.
  5. 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  එකකට පහත සදහන් ගුණාංග පවති.
  1. State - මෙය Object එකක attributes මගින් නිරූපනය කරනවා. තවද මෙය Object එකේ ගුණයන් දක්වයි.
  2. Behavior - මෙය Object එකක method මගින් නිරූපනය කරනවා. තවද මෙය Object එකක් තවත් Object එකකට දෙන ප්‍රතිචාරය දක්වයි.
  3. 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 කිහිපයක් තිබිය හැක.

උදාහරණ
  1. Dog dog1;
  2. 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