ushanmithma Structured Programming වලදී අපි ලියන code එක execute වෙන්නේ අපි ලියන පිළිවෙලටමයි... ඒ කියන්නේ උඩ ඉඳන් පහළට... මේකෙදි මුළු program එකම ගොඩක් වෙලාවට එකම file එකක් වගේ තියෙන්නේ. (වෙන වෙන file වලට වෙන් කරනවා. ඒත් ඒවා අදාල තැන් වලදි include කරනවා. Compile වෙන වෙලාවට නිකන් එකම sheet එකක් වගේ). කරන හැම දෙයක්ම වගේ වෙන වෙන functions වලට වෙන් කරලා තමයි මේකෙදි program එකක් ලියන්නේ.
ගොඩක් වෙලාවට Games වගේ processing power එක හොඳටම manipulate කරන්න ඕන වෙන, ඒ කියන්නේ resources හරිම විදිහට utilize කරන්න ඕන වෙන programs ලියන්නේ Structured programming languages වලින්.
හොයලා බැලුවොත් පෙනෙයි ගොඩක් game engine ලියලා තියෙන්නේ C, C++ වගේ languages වලින්.
ඒත් Object-oriented programming වලදි අපි වැඩියෙන් අවධානය යොමු කරන්නේ Data ගැන. ඒකෙදි ගොඩක් වෙලාවට runtime environment එකක් උඩ තමයි අදාල program එක වැඩ කරන්නේ. අනික program එකේ data තියාගන්නේ Object කියලා හඳුන්වන chunk වල. අපිට අපේ data ටික තියාගන්න ඕන විදිහේ Class හදලා, ඒ class වලින් හදන object වල තමයි data තියාගන්නේ.
මේකෙදිත් අපි functions use කරනවා. ඒත් ඒ functions ගොඩක් වෙලාවට තියෙන්නේ අර කලින් කියපු objects ඇතුලෙමයි. මේකෙදිත් වෙන වෙනම (Class) file වලට වෙන් කරනවා. ඒත් අර structured programming වලදි වගේ එක පිළිවෙලකට නෙවෙයි ඒවා එකතු වෙන්නේ.
මේ විදිහට program එකක් ලියනකොට memory management, processing power එක එහෙම බලාගන්නේ අදාල runtime environment (JRE/.NET Framework) එකෙන්. අපි ඒවා manually කරන්න ඕන නෑ... දැනට අපි use කරන ගොඩක් Softwares හදලා තියෙන්නේ ඔය කියන OOP concept වලට තමයි.
මෙහෙම වචනයෙන් කිව්වට ඕකෙ වෙනස තේරුම් ගන්න ටිකක් අමාරුයි. C++ වලින් පොඩි program එකක් ලියලා බලන්න. ඒකම Java හරි C# වගේ හරි එකකින් ලියලා බලන්න. එතකොට හරියටම තේරෙනවා.