Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng

 Chương trình là “cỗ máy” phức tạp.

 Cấu thành từ nhiều loại “vật liệu”.

 Vật liệu cơ bản: hàm, cấu trúc.

 Đã đủ tạo ra chương trình tốt?

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 1

Trang 1

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 2

Trang 2

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 3

Trang 3

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 4

Trang 4

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 5

Trang 5

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 6

Trang 6

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 7

Trang 7

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 8

Trang 8

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 9

Trang 9

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 25 trang Danh Thịnh 08/01/2024 940
Bạn đang xem 10 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 - Bài: Khái niệm cơ bản về đối tượng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng

Bài giảng Phương pháp lập trình hướng đối tượng - Bài: Khái niệm cơ bản về đối tượng
1Phương pháp lập trình hướng đối tượng. 
Khái niệm cơ bản về
Đối tượng
2Phương pháp lập trình hướng đối tượng. 
Nội dung
 Đối tượng và lớp.
 Tầm vực.
 Nạp chồng hàm.
 Bài tập.
3Phương pháp lập trình hướng đối tượng. 
Nội dung
 Đối tượng và lớp.
 Tầm vực.
 Nạp chồng hàm.
 Bài tập.
4Phương pháp lập trình hướng đối tượng. 
Khái niệm đối tượng và lớp
 Đối tượng là gì?
 Chương trình là “cỗ máy” phức tạp.
 Cấu thành từ nhiều loại “vật liệu”.
 Vật liệu cơ bản: hàm, cấu trúc.
 Đã đủ tạo ra chương trình tốt?
Vật liệu mới: Đối tượng!!
5Phương pháp lập trình hướng đối tượng. 
Khái niệm đối tượng và lớp
 Đặc trưng của đối tượng:
 Đóng gói cả dữ liệu và xử lý.
 Thuộc tính (attribute): dữ liệu của đối tượng.
 Phương thức (method): xử lý của đối tượng.
 Cấu trúc đối tượng:
 Hộp đen: thuộc tính trong, phương thức ngoài.
 Bốn nhóm phương thức:
 Nhóm tạo hủy.
 Nhóm truy xuất thông tin.
 Nhóm xử lý nghiệp vụ.
 Nhóm toán tử.
Thuộc tính
Phương thức
6Phương pháp lập trình hướng đối tượng. 
Khái niệm đối tượng và lớp
 Vì sao là hướng đối tượng?
 Hướng thủ tục (procedural oriented).
 Lấy hành động làm trung tâm.
 Hàm là xương sống.
- Lặt (Rau) - Ướp (Cá)
- Luộc (Rau) - Kho (Cá)
- Nấu (Cơm)
 Hướng đối tượng (object oriented).
 Lấy dữ liệu làm trung tâm.
 Đối tượng là xương sống.
- Rau.Lặt - Cá.Ướp
- Rau.Luộc - Cá.Kho
- Cơm.Nấu
Các bước nấu ăn
Verb Object
Lặt Rau
Ướp Cá
Nấu Cơm
Kho Cá
Luộc Rau
Thay đổi 
tư duy 
lập trình!!
7Phương pháp lập trình hướng đối tượng. 
Khái niệm đối tượng và lớp
 Khái niệm lớp:
Person1:
 Name: Peter.
 Age: 25.
 Hair Color: Brown.
 Eye Color: Brown.
 Job: Worker.
Person2:
 Name: Thomas.
 Age: 50.
 Hair Color: White.
 Eye Color: Blue.
 Job: Teacher.
Human:
 Name.
 Age.
 Hair Color.
 Eye Color.
 Job.
Tập hợp đối tượng có cùng 
thuộc tính và phương thức
Bản mô tả đối tượng
Kiểu của đối tượng
8Phương pháp lập trình hướng đối tượng. 
Khái niệm đối tượng và lớp
 Sử dụng đối tượng trong C++:
 Khai báo lớp: file .h
class 
{
;
;
};
 Cài đặt phương thức: file .cpp
 Như cài đặt hàm, kèm theo tên lớp.
 Tạo đối tượng:
 Như khai báo biến, kiểu dữ liệu là lớp.
 Truy xuất thành phần đối tượng:
 Như truy xuất thành phần cấu trúc.
9Phương pháp lập trình hướng đối tượng. 
Khái niệm đối tượng và lớp
 Ví dụ:
// file PhanSo.h
class PhanSo
{
private:
int m_iTuSo;
int m_iMauSo;
public:
PhanSo cong(PhanSo p);
};
// file PhanSo.cpp
PhanSo PhanSo::cong(PhanSo p)
{
// Cài đặt cộng phân số
}
// file main.cpp
void main()
{
PhanSo p1;
PhanSo *p2 = new PhanSo;
PhanSo *p3 = new PhanSo[10];
p3[1] = p1.cong(p3[5]);
p3[1] = p2->cong(p3[5]);
}
10Phương pháp lập trình hướng đối tượng. 
Nội dung
 Đối tượng và lớp.
 Tầm vực.
 Nạp chồng hàm.
 Bài tập.
11Phương pháp lập trình hướng đối tượng. 
Tầm vực
 Khái niệm tầm vực:
 Tầm ảnh hưởng, phạm vi hoạt động của thuộc tính 
và phương thức.
 Tầm ảnh hưởng càng hẹp, truy xuất càng hạn chế.
 Phân loại tầm vực:
Tầm vực Tầm ảnh hưởng Phạm vi hoạt động
private Hẹp Bên trong lớp.
public Rộng Bên trong lẫn bên ngoài lớp.
protected Vừa Bên trong lớp và lớp kế thừa.
12Phương pháp lập trình hướng đối tượng. 
Tầm vực
 Dr. Guru khuyên:
 Quy tắc hộp đen:
 Thuộc tính có tầm vực private để hạn chế truy xuất.
 Phương thức có tầm vực public để cung cấp tính năng.
class PhanSo
{
private:
int m_iTuSo;
int m_iMauSo;
public:
void khoiTao(int iTuSo, int iMauSo);
PhanSo cong(PhanSo p);
};
13Phương pháp lập trình hướng đối tượng. 
Tầm vực
 Toán tử :: (bốn chấm):
 Lớp 5A và 5B đều có sinh viên Lê Phương.
 Làm sao để phân biệt?
 Trường hợp 1: đứng trong lớp 5A.
 Trường hợp 2: đứng ngoài 2 lớp.
 Toán tử ::
 Dùng gọi tên thành phần của lớp
từ bên ngoài.
 :: Lớp 5B
Lớp 5A
14Phương pháp lập trình hướng đối tượng. 
Tầm vực
 Ví dụ:
class PhanSo
{
private:
int m_iTuSo;
int m_iMauSo;
public:
PhanSo cong(PhanSo p)
{
// Cài đặt bên trong lớp.
}
};
PhanSo PhanSo::cong(PhanSo p)
{
// Cài đặt bên ngoài lớp.
}
15Phương pháp lập trình hướng đối tượng. 
Tầm vực
 Con trỏ this:
 Sử dụng bên trong lớp.
 Đại diện cho đối tượng đang gọi phương thức.
 Hữu dụng trong một số trường hợp.
class PhanSo
{
private:
int m_iTuSo;
int m_iMauSo;
public:
void ganTuSo(int iTuSo) { this->m_iTuSo = iTuSo; }
};
void main()
{
PhanSo p1;
p1.ganTuSo(3);
PhanSo p2;
p2.ganTuSo(5);
}
16Phương pháp lập trình hướng đối tượng. 
Nội dung
 Đối tượng và lớp.
 Tầm vực.
 Nạp chồng hàm.
 Bài tập.
17Phương pháp lập trình hướng đối tượng. 
Nạp chồng hàm
 Chữ ký hàm (Function Signature):
 Phân biệt giữa các hàm.
 Đặc trưng của một hàm:
 Tên hàm.
 Danh sách tham số.
double sapXep(int aMang[], int iKichThuoc);
PhanSo PhanSo::cong(PhanSo p);
 Giá trị trả về không thuộc chữ ký hàm!!
Chương trình có thể có
nhiều hàm cùng tên!!
18Phương pháp lập trình hướng đối tượng. 
Nạp chồng hàm
 Những trường hợp nạp chồng hàm nào 
không hợp lệ?
1. int tinhToan(int a, int b);
2. int tinhToan(int x, int y);
3. int tinhToan(int a, float b);
4. float tinhToan(int u, int v);
5. int tinhToan(int a, long b);
19Phương pháp lập trình hướng đối tượng. 
Tóm tắt
 Khái niệm đối tượng và lớp:
 Đối tượng: một thành phần tạo nên chương trình.
 Đối tượng bao gồm thuộc tính và phương thức.
 Lớp: tập hợp đối tượng cùng thuộc tính phương thức.
 Tầm vực:
 Phạm vi hoạt động của thuộc tính và
phương thức.
 Có 3 mức: public, private, protected.
 Nạp chồng hàm:
 Nhiều hàm cùng tên, khác tham số.
20Phương pháp lập trình hướng đối tượng. 
Nội dung
 Đối tượng và lớp.
 Tầm vực.
 Nạp chồng hàm.
 Bài tập.
21Phương pháp lập trình hướng đối tượng. 
Bài tập
 Bài tập 2.1:
Xây dựng lớp phân số cho phép thực hiện các thao tác:
 Nhập, xuất.
 Lấy tử số, mẫu số.
 Gán giá trị cho tử số, mẫu số.
 Nghịch đảo, rút gọn.
 Cộng, trừ, nhân, chia, so sán

File đính kèm:

  • pdfbai_giang_phuong_phap_lap_trinh_huong_doi_tuong_bai_khai_nie.pdf