Presentation is loading. Please wait.

Presentation is loading. Please wait.

មេរៀនទី៩ Class & Object C/C++ for beginner

Similar presentations


Presentation on theme: "មេរៀនទី៩ Class & Object C/C++ for beginner"— Presentation transcript:

1 មេរៀនទី៩ Class & Object C/C++ for beginner
C# Database C/C++ for beginner មេរៀនទី៩ Class & Object រៀបចំ និងបង្រៀនដោយ៖ អ៊ិន សុភា Tel: /

2 អ្វីជា OOP? C/C++ for beginner
OOP គឺមកពីពាក្យថា Object-Oriented Programming ។ វាជា គោលការណ៍ មួយដែលអាចឱ្យ ភាសា programming ជាច្រើនយកគំរូតាម។ រាល់ភាសា Programming ទាំងអស់ដែលបានចាត់ចូលជា OOP គឺត្រូវផ្អែកទៅលើ ការប្រើប្រាស់ Object ជាចម្បង ហើយក៏ត្រូវមានលទ្ធភាពប្រើប្រាស់ នូវ Data Encapsulation, Inheritance និង Polymorphism ផងដែរ។

3 អ្វីជា Object ? C/C++ for beginner
គ្រប់Object ត្រូវមានរូបរាង(attributes) និង សកម្មភាព(behaviour) ខ្ញុំថា IPhone ជា Object ព្រោះ វាមានរូបរាង និង សកម្មភាពដែលអាចកំណត់បានថាជា “ទូរសព្ទដៃ”។ ចំណែកឯ ពាក្យថា “ទូរសព្ទដៃ” វាជាប្រភេទទិន្នន័យមួយដែលតំណាងឱ្យគ្រប់ ទូរសព្ទដៃទាំងអស់។ការតំណាងនេះហៅថា Class

4 C/C++ for beginner Class គឺជាពុម្ភ ឬជាការតំណាងឱ្យ ទិន្នន័យណាមួយជាអរូបិយ៍។ មានន័យថា Class គឺជាអ្នកកំណត់ឱ្យបានទៅជា Object ផ្សេងៗ។ Class Object Object Object

5 class className{ //access modifier //class members }OjectName;
C/C++ for beginner ការបង្កើត Class Syntax: class className{ //access modifier //class members }OjectName; Access modifier ជាដែនកំណត់នៃការប្រើប្រាស់ អាចជា private, protected ឬ public Class member ជាធាតុរបស់ class អាចជា variable ឬ function ជាដើម។

6 C/C++ for beginner Example: Class Laptop{ private: int code;//1
string model;//Dell.. int RAM;//4GB int HDD;//500GB }; រាល់ members របស់ class ដែលបានកំណត់ជា private នោះវាមានលទ្ធភាពប្រើបានតែក្នុង class ខ្លួនឯងប៉ុណ្ណោះ។ Access Modifier Class member

7 class objectName; ការយក Class ទៅប្រើ Syntax: C/C++ for beginner
ការលើកយក Class មកប្រើគឺមានន័យថាជាការបង្កើត នូវ Object តំណាងឱ្យ Class នោះ។

8 ការកំណត់ពត៌មានទៅកាន់ Object
C/C++ for beginner ការកំណត់ពត៌មានទៅកាន់ Object int main(){ ​​​ Laptop pc1; Laptop pc2; pc1.code=1; pc1.model="Dell Inspiron 14z"; pc1.RAM=4; pc1.HDD=500; pc2.code=2; pc2.model="Dell XPS"; pc2.RAM=2; pc2.HDD=320; }

9 C/C++ for beginner តាម កូដខាងលើឃើញថា រាល់ការទាញយក member របស់ class មកប្រើគឺតាមរយៈ សញ្ញា dot បន្ទាប់ពី ObjectName ក៏ប៉ុន្តែអ្វីដែល Error នោះគឺ មិនអាចទាញមកប្រើបានទេ ពីព្រោះ រាល់ member ទាំងអស់នោះសុទ្ធតែបានប្រើ Private ជា access modifier ។ ដូច្នេះអាចប្តូរពី private ទៅជា public វិញ ។ រាល់ class member ដែលបានកំណត់ជា public វាអាចយកទៅប្រើបានទាំងក្នុង class ខ្លួនឯង និងតាមរយៈ object ។

10 C/C++ for beginner Class Laptop{ public: int code;//1 string model;//Dell.. int RAM;//4GB int HDD;//500GB }; ប៉ុន្តែ OOP មិនតម្រូវឱ្យកំណត់ class members ទាំងអស់ជា public នោះទេ ព្រោះវាធ្វើឱ្យកូដគ្មានរបៀប ពោលគឺ មាន members ខ្លះត្រូវបានបង្ហាញ និងខ្លះមិនត្រូវបានបង្ហាញ ដែលទាំងនេះគេហៅថា Data Encapsulation។

11 C/C++ for beginner កែប្រែ Class ដដែលទៅជា Class Laptop{ private:
int code; string model; int RAM; int HDD; public: void setLaptop(int code,string model,int ram,int hdd){ //code=code; this->code=code; this->model=model; RAM=ram; HDD=hdd; } string getLaptop(){ return code+”,”+model+”,”+RAM+”,”+HDD; };

12 C/C++ for beginner this keyword & -> arrow operator Class Laptop{
private: int code; string model; int RAM; int HDD; public: void setLaptop(int code,string model,int ram,int hdd){ //code=code; this->code=code; this->model=model; RAM=ram; HDD=hdd; } string getLaptop(){ return code+”,”+model+”,”+RAM+”​GB,”+HDD+”GB”; }; this ជា keyword តំណាងឱ្យ Current object នៃ class។ គេប្រើវាសម្រាប់ access ទៅកាន់ member ផ្ទាល់របស់ class

13 C/C++ for beginner int main(){ ​​​ Laptop pc1; Laptop pc2;
pc1.code=1; pc1.model=“Dell Inspiron 14z”; pc1.RAM=4; pc1.HDD=500; pc2.code=2; pc2.model=“Dell XPS”; pc2.RAM=2; pc2.HDD=320; } int main(){ ​​​ Laptop pc1; Laptop pc2; pc1.setLaptop(1,"Dell",4,500); pc2.setLaptop(2,"Asus",2,320); cout<<pc1.getLaptop()<<endl; cout<<pc2.getLaptop(); getch(); }

14 C/C++ for beginner Constructor ជាទូទៅ រាល់ function ដែលបានបង្កើតនៅក្នុង class ត្រូវបានគេហៅថា method និងរាល់ method ដែលមានឈ្មោះដូចទៅនឹង class របស់វាគេហៅថា Constructor។ មិនមាន return type អនុវត្តដំបូងបំផុតនៅពេល class ត្រូវបាន instance ជា object ត្រូវមាន access modifier ជា​ public អាចមានលក្ខណៈជា Overloading

15 C/C++ for beginner Example: class BOX{ private: int width,height;
public: BOX(){ width=height=10; } BOX(int width,int height){ this->width=width; this->height=height; int getArea(){ return width*height; }; 1 2

16 BOX() និង BOX(20,30) ជា Constructor របស់ class BOX
C/C++ for beginner Example: int main(){ BOX box1=BOX(); BOX box2=BOX(20,30); cout<<"The area of box1 is "<<box1.getArea()<<endl; cout<<"The area of box2 is "<<box2.getArea(); getch(); } BOX() និង BOX(20,30) ជា Constructor របស់ class BOX

17 Inheritance C/C++ for beginner
វាជាលទ្ធភាពដែលអាចផ្តល់ឱ្យ class មួយទទួល member ពី class ដទៃទៀត ក្នុងគោលបំណងបំពេញបន្ថែម ដោយកាត់បន្ថយការបង្កើតឡើងវិញ និងមិនប៉ះពាល់ដល់ class ដែលមានស្រាប់។ Class ដែលផ្តល់ member ទៅគេប្រើ ជា based class ឬ supper class Class ដែលទទួល member ពីគេ ជា derived class ឬ​ sub class

18 នៅក្នុង ភាសា C++ ក៏អាចប្រើនូវ​ multi-Inheritance
C/C++ for beginner Syntax: class subClassName:public supperClassName{ //members } នៅក្នុង ភាសា C++ ក៏អាចប្រើនូវ​ multi-Inheritance class subClassName:public supperClassName1,...{

19 C/C++ for beginner Example: class Shape { protected:
float width, height; public: void set_data(float a, float b){ width = a; height = b; } }; class Rectangle:public Shape { public: float area () { return (width * height); class Triangle:public Shape { return (width * height / 2); រាល់ class members ដែលប្រើ access modifier ជា protected វាមានលទ្ធភាព ទាញទៅប្រើប្រាស់បានទាំងនៅក្នុង classខ្លួន ឯង និង class ដែលបាន inherit ពីវាតែប៉ុណ្ណោះ។

20 C/C++ for beginner int main () { Rectangle rect; Triangle tri;
rect.set_data (5,3); tri.set_data (2,5); cout << rect.area()<<endl; cout << tri.area() <<endl; return 0; }

21 C/C++ for beginner Polymorphism ជា ការបង្កើតនូវអ្វីមួយដោយអាចយកទៅប្រើបានច្រើនទិសដៅ ក្នុងនោះមាន Overloading method ជាដើម ឬក៏អាចនិយាយយ៉ាងខ្លីថាវាគឺជា template

22 C/C++ for beginner Example: int main () { Shape *pshape;//pshape is a pointer to an object class Shape. Rectangle rec;//creatge rec object Triangle tri; // create tri object pshape=&rec; pshape->set_data(10,20); cout<<"The area of Rec is "<<rec.area(); pshape=&tri; cout<<endl<<"The area of Tri is"<<tri.area(); cin.get(); return 0; }


Download ppt "មេរៀនទី៩ Class & Object C/C++ for beginner"

Similar presentations


Ads by Google