Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 02: Lớp và đối tượng - Phạm Tú San

Tuần 02:  
Lꢀp và đꢁi tưꢂng  
Đꢀt vꢁn đꢂ  
Viết chương trình nhập họ tên, điểm toán,  
điểm văn của một học sinh. Tính điểm trung  
bình và xuất kết quả  
Lꢃp trình hưꢄng thꢅ tꢆc  
struct HocSinh  
{
void NhapHS(HocSinh &hs);  
void XuatHS(HocSinh hs);  
float DiemTB(HocSinh hs);  
int MaHS;  
char HoTen[50];  
float DiemToan;  
float DiemVan;  
};  
Thành phần xử lý  
void main()  
{
Lấy hành  
HocSinh a;  
NhapHS(a);  
XuatHS(a);  
động làm  
trung tâm  
Thành phần dữ liệu  
}
Vꢁn đꢂ phát sinh  
Giả sử một đoạn trong chương trình:  
void main()  
{
HocSinh a;  
NhapHS(a);  
Sai!  
……  
a.DiemToan = -5;  
}
Kiểm soát dữ liệu thế nào?  
Đóng gói dữ  
liệu!  
Đꢀt vꢁn đꢂ  
Lập trình hướng đối tượng  
Đóng gói dữ liệu, lấy dữ liệu làm trung tâm  
Dữ liệu của ai do người đó quản lý  
Muốn đổi điểm học sinh -> phải nhờ đối tượng  
học sinh làm giúp  
Lꢃp trình hưꢄng đꢇi tưꢈng  
class CHocSinh  
{
private:  
char mMSSV;  
char mHoTen[50];  
float mDiemToan;  
float mDiemVan;  
void main  
{
CHocSinh a;  
a.mDiemToan = -5;  
public:  
void GanDiemToan(int diem)  
{
a.GanDiemToan(-5);  
}
if(diem>=0 && diem<=10)  
this->mDiemToan = diem;  
}
};  
Lꢃp trình hưꢄng đꢇi tưꢈng  
Object Oriented Programming (OOP)  
Là một cách tiếp cận (hay phương pháp/kiểu)  
lập trình (design philosophy)  
Các ngôn ngữ lập trình hướng đối tượng: C++, C#,  
Java..  
Chương trình hướng đối tượng là chương trình  
dựa trên sự tương tác giữa các đối tượng  
(objects)  
ĐỐI TƯỢNG là trung tâm  
Đꢇi tưꢈng (object)  
Đối tượng – một thực thể cụ thể  
thuộc tính - attribute (dữ liệu)  
hành động - method (hoạt động, ứng xử, xử lý)  
Học sinh Nguyễn Văn, phân số p = ½…  
Trong thực tế  
Thuộc tính – các biến, tham số hay hằng nội tại của  
một đối tượng – mô tả tính chất  
Phương thức – hàm – phương tiện sử dụng  
Ví dꢆ đꢇi tưꢈng  
Ví dụ: Chương trình “Điểm trung bình 3 HS”  
class HocSinh{  
private:  
void main(){  
HocSinh a(“Viꢀt"),  
b(“Cưꢁng"),  
c(“Thuꢂn");  
char hoten[31];  
int toan;  
int van;  
public:  
a.diThi(); b.diThi();  
c.diThi();  
HocSinh(char*  
iHoTen);  
a.tinhDTB();  
b.tinhDTB();  
void diThi();  
void xuat();  
c.tinhDTB();  
a.xuat();  b.xuat();    
float tinhDTB(); c.xuat();  
};  
}
Liệt kê một số đối tượng?  
Thuộc tính?  
Phương thức?  
Lꢄp đꢇi tưꢈng (Class)  
Đối tượng được trừu tượng hóa thành lớp đối  
tượng - class  
Lớp đối tượng là kiểu dữ liệu các đối tượng  
cùng loại  
Jessica Alba, Bill Gates -> đối tượng cùng loại  
NGƯỜI  
Lớp 11TH, lớp 12TH -> đối tượng cùng loại LỚP HỌC  
Student objectStudent  
= new Student();  
public class Student  
{ }  
Ví dꢆ class  
class XeHoi  
{
private:  
float mXangHienCo;  
float mDungTichBinhXang;  
public:  
void Chay(float km);  
void DoXang(float xang);  
}
Các tính chꢁt cꢅa class  
Đóng gói: chứa đựng dữ liệu và các hàm/thủ  
tục liên quan  
Che giấu dữ liệu: các thực thể phần mềm khác  
không can thiệp trực tiếp vào dữ liệu bên trong  
được mà phải thông qua các phương thức cho  
phép  
Mꢉt cách thꢊ hiꢋn điꢊn hình  
Che giấu dữ liệu và các “giải thuật” cụ thể ở bên  
trong lớp (class)  
class <Tên lꢀp>  
public  
{
(methods)  
private:  
<Các thành  
phꢁn riêng>  
public:  
private  
(data)  
<Các thành phꢁn  
chung/công cꢂng>  
};  
lớp đối tượng  
Phꢌm vi hoꢌt đꢉng (scope)  
private: chỉ sử dụng được khi đang ở bên trong  
lớp (class) đó  
(Một cách giải thích khác: chỉ các hàm hay  
phương thức ở bên trong của lớp đó mới nhìn  
thấy được)  
public: có thể sử dụng ở cả bên trong và bên  
ngoài của lớp  
VÍ dꢆ  
class CHocSinh  
{
private:  
void main  
{
char mHoTen[50];  
float mDiemToan;  
float mDiemVan;  
CHocSinh a;  
a.mDiemToan = -5;  
a.GanDiemToan(-5);  
public:  
void GanDiemToan(int diem)  
{
}
if(diem>=0 && diem<=10)  
this->mDiemToan =  
diem;  
}
};  
Các tính chꢁt cꢅa lꢃp trình hưꢄng đꢇi tưꢈng  
1 – tính trừu tượng (abstraction)  
2 – tính đóng gói (encapsulation) và che giấu  
thông tin (information hiding)  
3 – tính đa hình (polymorphism)  
4 – tính kế thừa (inheritance)  
Sơ đꢍ lꢄp – class diagram  
Lớp đối tượng A có 3 thuộc tính là T1, T2, T3 và  
4 hành động là H1, H2, H3, H  
Tên lớp  
Các thuộc tính  
Các phương thức  
Sơ đꢍ lꢄp – mꢎc cài đꢀt đưꢈc  
Chương trình vꢏ uml  
Một số chương trình hỗ trợ thiết kế sơ đồ UML  
Astah  
StarUML  
Rational rose  
Toán tꢐ phꢌm vi ::  
Dùng để chỉ dẫn thành phần thuộc tính hay  
phương thức thuộc một lớp đối tượng cụ thể  
nào đó  
CHocSinh::GanDiemToan(int diem)  
Tải về để xem bản đầy đủ
pdf 29 trang baolam 26560 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phương pháp lập trình hướng đối tượng - Tuần 02: Lớp và đối tượng - Phạm Tú San", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phuong_phap_lap_trinh_huong_doi_tuong_tuan_02_lop.pdf