Bài giảng C - lớp và đối tượng - p2
11LẬP TRÌNH C++LẬP TRÌNH C++§13. §13. LỚP CÁC ĐỐI TƯỢNGLỚP CÁC ĐỐI TƯỢNG 221. Khái niệm :1. Khái niệm :a. Đối tượng : a. Đối tượng : Đối tượng là mô hình của thực thể bao gồm :Đối tượng là mô hình của thực thể bao gồm :i) Thông tin (dữ liệu) mô tả đối tượng (Data)i) Thông tin (dữ liệu) mô tả đối tượng (Data)ii) Các hàm tác động lên đối tượng gọi là phương ii) Các hàm tác động lên đối tượng gọi là phương thức của đối tượng (Method)thức của đối tượng (Method)Dữ liệu và các hàm của đối tượng gắn liền với nhau Dữ liệu và các hàm của đối tượng gắn liền với nhau để đặc tả đối tượngđể đặc tả đối tượngVí dụ :Ví dụ :- Đối tượng học sinh bao gồm họ tên, ngày sinh, địa - Đối tượng học sinh bao gồm họ tên, ngày sinh, địa chỉchỉ- Đối tượng điểm bao gồm hoành độ, tung độ, vẽ - Đối tượng điểm bao gồm hoành độ, tung độ, vẽ điểm, xoá điểmđiểm, xoá điểm 33- Đối tượng đường tròn bao gồm tâm, bán kính vẽ - Đối tượng đường tròn bao gồm tâm, bán kính vẽ xoá .xoá .- Đối tượng đoạn thẳng, đối tượng hình chữ nhật .- Đối tượng đoạn thẳng, đối tượng hình chữ nhật .b. Lớp các đối tượng :b. Lớp các đối tượng :- Các đối tượng có cùng thành phần dữ liệu và - Các đối tượng có cùng thành phần dữ liệu và phương thức hình thành nên một lớpphương thức hình thành nên một lớp - Lớp là kiểu dữ liệu được định nghĩa bởi người sử - Lớp là kiểu dữ liệu được định nghĩa bởi người sử dụng nên nó cũng có tính chất như một kiểu dữ liệu dụng nên nó cũng có tính chất như một kiểu dữ liệu cơ sở.cơ sở. 442. Khai báo lớp các đối tượng :2. Khai báo lớp các đối tượng :a. Khai báo kiểu lớp :a. Khai báo kiểu lớp :class tên_lớpclass tên_lớp{{private:private:Khai báo các thành phần private ;Khai báo các thành phần private ;public:public: Khai báo các thành phần public;Khai báo các thành phần public;};};b. Khai báo biến đối tượng :b. Khai báo biến đối tượng :tên_lớp ten_bien_doi_tuong;tên_lớp ten_bien_doi_tuong; 553. Bài tập :3. Bài tập :Bài tập 1 : đọc vào vâ in ra họ tên và tuổi của một ngườiBài tập 1 : đọc vào vâ in ra họ tên và tuổi của một ngườiCách 1: xây dựng hàm trong lớpCách 1: xây dựng hàm trong lớp#include <stdio.h>#include <stdio.h>#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>class danhsachclass danhsach{{ private:private:char hoten[20];char hoten[20];int tuoi;int tuoi; 66public:public:void getData()void getData(){ cout<<"Cho ho ten : "; gets(hoten);{ cout<<"Cho ho ten : "; gets(hoten); cout<<"Cho tuoi : "; cin>>tuoi;cout<<"Cho tuoi : "; cin>>tuoi;}}void putData()void putData(){ cout<<"Ho ten : "<<hoten<<endl;{ cout<<"Ho ten : "<<hoten<<endl; cout<<"Tuoi : "<<tuoi<<endl;cout<<"Tuoi : "<<tuoi<<endl;}}} a;} a;void main()void main(){ clrscr();{ clrscr(); a.getData();a.getData(); a.putData();a.putData(); getch();getch();}} 77Cách 2: xây dựng hàm ngoài lớpCách 2: xây dựng hàm ngoài lớp#include <stdio.h>#include <stdio.h>#include <iostream.h>#include <iostream.h>#include <conio.h>#include <conio.h>class danhsachclass danhsach{{ private:private:char hoten[20];char hoten[20];int tuoi;int tuoi; public:public:void getData();void getData();void putData();void putData();};}; 88void danhsach:: getData()void danhsach:: getData(){ cout<<"Cho ho ten : "; gets(hoten);{ cout<<"Cho ho ten : "; gets(hoten); cout<<"Cho tuoi : "; cin>>tuoi;cout<<"Cho tuoi : "; cin>>tuoi;}}void danhsach:: putData()void danhsach:: putData(){ cout<<"Ho ten : "<<hoten<<endl;{ cout<<"Ho ten : "<<hoten<<endl; cout<<"Tuoi : "<<tuoi<<endl;cout<<"Tuoi : "<<tuoi<<endl;};};void main()void main(){ danhsach a;{ danhsach a; clrscr();clrscr(); a.getData();a.getData(); a.putData();a.putData(); getch();getch();}} 99d. Bài tập 4: xây dựng lớp số phứcd. Bài tập 4: xây dựng lớp số phứcCách 1: xây dựng lớp số phức (hàm ngoài)Cách 1: xây dựng lớp số phức (hàm ngoài)#include<iostream.h>#include<iostream.h>#include<conio.h>#include<conio.h>class sophucclass sophuc{{private:private:float thuc;float thuc;float ao;float ao;public:public:sophuc(float t, float a)sophuc(float t, float a){{thuc=t;ao=a; }thuc=t;ao=a; }sophuc()sophuc(){{thuc=0;ao=0; }thuc=0;ao=0; }void show()void show(){{if (ao>=0) cout<<thuc<<"+"<<ao<<".i";if (ao>=0) cout<<thuc<<"+"<<ao<<".i"; else cout<<thuc<<ao<<".i";else cout<<thuc<<ao<<".i";}}void cong(sophuc p1,sophuc p2);void cong(sophuc p1,sophuc p2);};}; 1010void sophuc:: cong(sophuc p1,sophuc p2)void sophuc:: cong(sophuc p1,sophuc p2){{thuc=p1.thuc+p2.thuc;thuc=p1.thuc+p2.thuc;ao=p1.ao+p2.ao;ao=p1.ao+p2.ao;}}void main()void main(){{ sophuc p1(2,3),p2(6,4),p;sophuc p1(2,3),p2(6,4),p; p.show();p.show(); cout<<"\nCong hai so phuc\n";cout<<"\nCong hai so phuc\n"; cout<<"------------------\n";cout<<"------------------\n"; p.cong(p1,p2);p.cong(p1,p2); p1.show();p1.show(); cout<<" + "; cout<<" + "; p2.show();p2.show(); cout<<" = ";cout<<" = "; p.show();p.show();}} [...].. .C ch 2: xây dựng lớp số ph c (hàm trong) #include #include class sophuc { private: float thuc; float ao; public: sophuc(float t, float a) { thuc=t;ao=a; } sophuc() { thuc=0;ao=0; } void show() { if (ao>=0) cout . so phuc ";cout<<" Cong hai so phuc "; cout<<" ;-- -- - -- - -- - -- - -- - - n";cout<<" ;-- -- - -- - -- - -- - -- - - n";. xoá...xoá.. .- Đối tượng đoạn thẳng, đối tượng hình chữ nhật.. .- Đối tượng đoạn thẳng, đối tượng hình chữ nhật...b. Lớp c c đối tượng :b. Lớp c c đối tượng :- C c đối