OOP

What is OOP?

OOP មកពីពាក្យ Object Oriented Programming វាគឺជា concept ក្នុងការសរសេរកម្មវិធី (programs) វាមិនមែនជាកូដទេ។

(Object = វាកើតចេញពី class, oriented = តំរែតំរង, programming = សរសេរកូដ) វាគឺជាការសរសេរកូដផ្តោតសំខាន់ទៅលើ oject។

OOP គឺជា concept មួយ រឺវាគឺជាវិធីសាស្រ្តក្នុងការសរសេរកូដ ដើម្បីបង្កើត program ណាមួយ។

អត្ថប្រយោជន៍នៅពេលយើងប្រើ OOP
  • (Code reusable) គឺវាកាត់បន្ថយសរសេរកូដដដែលៗឡើងច្រើន គឺយើងសរសេរម្តង ប៉ុន្តែហៅមកប្រើបានច្រើនដង់។
  • (Easy to maintain) ងាយស្រួលក្នុងការ maintain បន្តនូវអ្វីដែលមាន feature ថ្មី រឺក៏ចង់ update នៅអ្វីដែល error នៅក្នុងកម្មវិធីរបស់យើង។
  • (Code Readable) យើងងាយអាន ងាយយល់នៃកូដ។
  • (Standard code) គឺកូដរបស់យើងសរសេរទៅតាមក្រឹតក្រម។
គោលការណ៍របស់ OOP

OOP មានគោលការណ៍បីធំៗ គឺ Inheritance, Polymorphism និង Encapsulation។

1. Inheritance:

Inheritance គឺជាគោលការណ៍របស់ OOP ដែលអនុញ្ញាតឲ្យយើងបង្កើត Sub class មួយ ដោយទទួលលក្ខណដែលមានស្រាប់ចេញពី Super class មួយផ្សេងទៀតដោយគ្រានតែបន្ថែមលក្ខណថ្មីខ្លួនវា។

  • Super class: យើងអាចបានថា parent class ឬក៏ Bass class។ វាគឺជាអ្នកផ្តល់លក្ខណទៅឲ្យគេ ឬយើងអាចហៅបានថា ជាអ្នកផ្តល់មរតកទៅឲ្យគេ។ មរតកមានដូចជា field (data member) និង method ជាដើម។
  • Sub class: យើងអាចបានថា child class ឬក៏ derived class។ វាគឺជាអ្នកទទួលលក្ខណ(មរតក)ពីគេមានដូចជា field (data member) និង method​ ជាដើម។ ហើយវាបន្ថែមរបស់ថ្មីពីលើ super class ដែលមានស្រាប់ មិនបាច់បង្កើតម្តងទៀត។ ហើយអ្វីដែលវាបន្ថែមថ្មីនោះ វាមិនមែនជាកម្មសិទ្ធរបស់ super class ទេ គឺជាកម្មសិទ្ធរបស់ខ្លួនវាផ្ទាល់។

2. Polymorphism:

Polymorphism (Poly = many, morphism = form) វាគឺជាការងារតែមួយ ឬ method តែមួយ ប៉ុន្តែនៅពេលប្រតិបតិ្ត ឬពេលធ្វើវាមានច្រើនរបៀប ច្រើនបែប។ ឧទាហរណ៍ យើងបង្កើត method មួយទាក់ទងទៅនឹងបូកលេខមួយ ប៉ុន្តែមានច្រើនជំរើស ច្រើនបែប គឺបូកលេខមួយតង់ ពីរតង់ ឬបូកលេខច្រើនតង់ ដែលឈ្មោះ method តែមួយ។

លក្ខរបស់ Polymorphism មានពីរគឺ overriding និង overloading។
  • overriding : run-time polymorphism ប៉ុន្តែតល់តែមាន inheritance ទើបអាចហៅ overriding បាន។
  • overloading : compile-time វាមិនចាំបាចមាន inheritance ទេ វានៅក្នុង class តែមួយ ឈ្មោះ method តែមួយ តែខុសចំនួន parameter។

    3. Encapsulation:

    Encapsulation វាគឺការវុិចខ្ចប់កូដយ៉ាងមាំ ហើយការពារពី access ពីខាងក្រៅដោយគ្មានការអនុញ្ញាត។ វាត្រូវបានខ្ចប់នៅក្នុង class នៅក្នុង method ដោយប្រើ keyword private

    • Data hiding
    • Security
    • Access via method(properties)
    • Define permission (read/write, read-only/write-only)

  • Post a Comment

    0 Comments