For Android device For iOS device
១១
មករា

ការ​ប្រើ​ប្រាស់ Inheritance នៅ​ក្នុង C++

​រៀបចំ​អត្ថបទដោយ លោក ឃ្លោក ចំរ៉ាត់ ត្រួត​ពិនិត្យ​ឡើងវិញដោយ លោក អួន ហ៊ិនស៊ី

សួស្ដីអ្នក​ទាំងអស់​គ្នា​ប្រាកដជា​ធ្លាប់​បានដឹង ឬ​ក៏​ធ្លាប់​បាន​ឮ​ហើយអំពីពាក្យថា  OOP (Object Oriented Programming) ហើយ​ក្នុង​ពេលនេះដែរ ​ថ្នាក់​បណ្តុះបណ្តាល​កុំព្យូទ័រ​អាន-ANT សូមលើកយកអត្ថបទមួយមាន​ចំណងជើង​ថា ការ​ប្រើ​ប្រាស់ Inheritance នៅ​ក្នុង C++  ដើម្បី​ផ្ដល់​ជាជំនួយដល់​បងប្អូន​ដែល​ចូលចិត្តរៀនពីភាសា Programming ​ឲ្យ​បានយល់ដឹង​បន្ថែម​ទៀតដូច​ខាងក្រោម​នេះ ។ សូមមើលឧទាហរណ៍​កូដ​ខាងក្រោម​៖


រូបទី ១

រូបទី ២

រូបទី ៣

♦ ពន្យល់ពី Inheritance

យើងបានដឹងហើយថា Inheritance គឺ​មានន័យថា​ការទទួលមរតក ។ តើការទទួលមរតក​ក្នុង​ Programming មានន័យ​យ៉ាង​ដូចម្ដេចដែរ? ការទទួលមរកតក​នូវ​ក្នុង programming ​មានន័យថា class មួយ​ដែល​យើងហៅថា class កូននោះ (ដូចរូបទី២) គឺមាន​សិទ្ធ​អាចទទួល​នូវ​រាល់ member ​ទាំងអស់​នូវ​ក្នុង class មេយក​ប្រើ​ប្រាស់​ដោយការ​សរសេរ​កូដដូច​ទម្រង់​ក្នុង​រូបទីពីរ ចាប់ពីបន្ទាត់ទី២៤ ដល់បន្ទាត់ទី២៩ ។

ពន្យល់កូដ​ក្នុង​រូបទី១ ៖

យើងបាន​បង្កើត class មួយ​ឈ្មោះ​ថា Shape នៅបន្ទាត់ទី៧

- បន្ទាត់ទី៨ ដល់ទី១០ យើងបាន​បង្កើត​នូវ​ data member ​ដែល​វាជា​ប្រភេទ protected ​ដែល​វា​មិនអាច​ទាញយក​នូវ member ទៅ​ប្រើ​នៅក្រៅ class បានឡើយ ប៉ុន្តែ​យកអាចហៅយកទៅ​ប្រើ​នៅ​ក្នុង class ណា​ដែល​បាន inherit protected member ចេញពីវា ។

- បន្ទាត់ទី១២ និង១៥ គឺយើងបាន​បង្កើត method setWidth និង setHeight ជា​ប្រភេទ​ non return ​ដែល​member function ជា​ប្រភេទ public  ។ ហើយ​ក្នុង method ​នីមួយៗ​មាន parameter ដូច​គ្នា​សម្រាប់​ផ្ទុក​នូវ​តម្លៃ​របស់វា ។

 ♦ ពន្យល់កូដ​ក្នុង​រូបទី២ ៖

- នៅ​ក្នុង​បន្ទាត់ទី២៤ យើងបាន​បង្កើត​classមួយទៀត​ដែល​មាន​ឈ្មោះ​ថា Rectangle ​ដែល​បាន Inherit ដោយ class Shape ​ដែល​អាច​ឲ្យ access data member ពី class Shape មក​ប្រើ​បាន ។

- នៅ​ក្នុង​បន្ទាត់ទី២៥ បង្កើត member function ជា public

- នៅ​ក្នុង​បន្ទាត់ទី២៦ ដល់២៨ យើងបាន​បង្កើត method ​ដែល​ជា​ប្រភេទ Return ​ដែល​វានឹង Return ​នូវ​តម្លៃ (width * height) ដែល​យើងបាន access data member របស់វាពី class Shape មកពេល​ដែល Return ​តម្លៃ (width * height) នោះ​តម្លៃ​នេះ​វានឹង store ទុក​ក្នុង method getArea () ជាបណ្ដោះអាសន្ន ។

♦ ពន្យល់កូដរូបទី២ ក្នុង main function

- នៅ​ក្នុង main បន្ទាត់ទី៣៣ យើងបាន declare Rectangle rectangle ​សម្រាប់​ហៅ Object ក្នុង​ class Rectangle យកមក​ប្រើ​ក្នុង main

- នៅ​ក្នុង​បន្ទាត់ទី ៣៤ និង ៣៥ គឺយើងបានហៅ method setWidth និង setHeight ​ដែល​ត្រូវបាន​យើង Inherit ជាមួយ class Rectangle ​សម្រាប់​ផ្ដល់​តម្លៃ​បណ្ដោយនិង​កម្ពស់ ដើម្បី​ឲ្យ method getArea () ដែល return (width * height) ​ធ្វើការ​គណនា​តម្លៃ​ដែល​យើងបាន​ផ្ដល់​នៅ​ក្នុង setWidth និង setHeight

- នៅ​ក្នុង​បន្ទាត់ទី៣៦ ជាកូដ​សម្រាប់​បង្ហាញ​នៅ Total របស់ width * height ​ដែល​យើងបាន Store ទុក​ក្នុង method getArea () ដោយ​សរសេរ rectangle.getArea () នោះបានន័យថា វានឹង​បោះ​តម្លៃ​សរុបមក rectangle

រូបទី៣ ជារូប​បង្ហាញ​លទ្ធផល​ដែល 10 * 5 (height * width) Total area = 50

មតិ និង​យោបល់​ទៅលើ​អត្ថបទ​នេះ (តាម Facebook)

ខាងក្រោម​នេះ​ជា​យោបល់​ផ្សេងៗ​របស់​អ្នកទស្សនា