Bài giảng Lập trình hướng đối tượng - Chương 1: Lớp và đối tượng - Nguyễn Sơn Tùng
Đại Học Quốc Gia Tp. Hồ Chí Minh
Trường ĐH Khoa Học Tự Nhiên
Khoa Công Nghệ Thông Tin
PP. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
CHƯƠNG 1
LỚP VÀ ĐỐI TƯỢNG
ThS: Phạm Nguyễn Sơn Tùng
Email: pnstung@fit.hcmus.edu.vn
Giới thiệu tổng quan về lập trình hướng đối tượng
Tìm hiểu về lớp (class) trong LTHDT
1
2
3
4
Tìm hiểu về đối tượng (object) trong LTHDT
Những quy tắc trong lập trình
Demo bài tập ứng dụng tại lớp
5
2
9/6/2019
C02: Lớp & đối tượng
➢ Định nghĩa: tên Tiếng Anh Procedure-Oriented
Programming hoặc Procedural programming là lập
trình lấy hành động làm trung tâm.
➢ Phân chương trình thành các công việc nhỏ hơn để dễ
dàng giải quyết, gọi là chương trình con (hàm).
➢ Hàm là xương sống của toàn bộ chương trình.
3
9/6/2019
C02: Lớp & đối tượng
➢ Gửi tiền.
➢ Rút tiền.
➢ Chuyển khoản.
➢ Mở tài khoản.
4
9/6/2019
C02: Lớp & đối tượng
➢ Lặt → rau
➢ Nấu → cơm
➢ Kho → cá
➢ Chiên → thịt
5
9/6/2019
C02: Lớp & đối tượng
Giới thiệu: tên Tiếng Anh Object-oriented Programming là phương
phá p lập trì nh cho phé p người lập trì nh viên tạo ra cá c đối tượng
trong “mã nguồn” từ những đối tượng thực tế ngoài cuộc sống.
Được ra đời thập niên 1960s từ hệ thống PDP-1 của MIT. Đến giữa
thập niên 1980s phá t triển bùng nổ. Ngày nay OOP được á p dụng ở
hầu hết cá c ứng dụng thực tế xâ y dựng tại cá c doanh nghiệp.
Cá c ngô n ngữ lập trì nh hướng đối tượng đáng chú ý gồm có Java,
C++, C#, Python, PHP, Ruby, Perl, Object Pascal, Objective-C, Dart,
Swift, Scala, Common Lisp, và Smalltalk.
6
9/6/2019
C02: Lớp & đối tượng
➢ Khá ch hàng.
➢ Tiền.
➢ Tài khoản.
➢ Thẻ.
7
9/6/2019
C02: Lớp & đối tượng
➢ Rau ➔ lặt
➢ Cơm ➔ nấu
➢ Cá ➔ kho
➢ Thịt ➔ chiên
8
9/6/2019
C02: Lớp & đối tượng
Là phương pháp lập trình dựa trên kiến trúc lớp (class).
và đối tượng (object)
• Tí nh trừu tượng (Abstraction).
• Tính đống gói và che giấu dữ liệu (Encapsulation & Data Hiding).
• Tính kế thừa (Inheritance).
• Tính đa hình (Polymorphism).
9
9/6/2019
C02: Lớp & đối tượng
➢ Public: cá c thuộc tí nh hoặc cá c phương thức có thể truy xuất ra bên
ngoài class.
➢ Private: cá c thuộc tí nh cá c phương thức khô ng thể truy xuất ra bên ngoài
class, nó chỉ được gọi trong phạm vi class.
➢ Protected: cá c thuộc tí nh cá c phương thức khô ng thể truy xuất ra bên
ngoài class, nó chỉ được gọi trong class và class kế thừa.
10
9/6/2019
C02: Lớp & đối tượng
Một lớp có thể được hiểu là khuôn mẫu để tạo ra các đối
tượng, là mô hình hóa nhóm các đối tượng cùng loại:
11
9/6/2019
C02: Lớp & đối tượng
Object: là thực thể mà chúng ta có thể cảm nhận được, trong một lớp,
người ta thường dùng các biến để mô tả các thuộc tính và cá c hàm để
mô tả các phương thức của đối tượng.
Trong đối tượng có 2 thành phần quan trọng:
o Thuộc tính (Property): mô tả tính chất của đối tượng.
o Phương thức (Method): các hành động liên quan đến đối tượng đó.
12
9/6/2019
C02: Lớp & đối tượng
Object 1
• Tên: Peter
• Tuổi: 8
Class: Học Sinh
• Quốc tịch: Singapore
• Nghề nghiệp: học sinh lớp 3
• Tên
• Tuổi
• Quốc tịch
• Nghề nghiệp
Object 2
• Tên: Marry
• Tuổi: 7
• Chạy
• Lập trình
• Há t
• Quốc tịch: Hồng Kông
• Nghề nghiệp: học sinh lớp 2
13
9/6/2019
C02: Lớp & đối tượng
➢ Bước 1: Xác định các lớp và đối tượng có trong đề bài (Giấy)
oCác thuộc tính.
oCác phương thức.
➢ Bước 2: Khai báo các lớp và đối tượng (Máy)
➢ Bước 3: Khai báo các thuộc tính & phương thức.
➢ Bước 4: Cài đặt các xử lý của các phương thức đó.
➢ Bước 5: Gọi các phương thức xử lý trong hàm main.
14
9/6/2019
C02: Lớp & đối tượng
➢ Viết chương trình nhập tên học sinh, điểm toán, điểm
văn, tính điểm trung bình và xuất kết quả.
o Khai bá o struct HocSinh.
o Viết hàm nhập Tên Học Sinh, điểm Toán, điểm Văn.
o Viết hàm xuất Tên Học Sinh, điểm Toán, điểm Văn.
o Viết hàm tính điểm trung bình.
o Viết hàm main chạy kiểm tra kết quả
15
9/6/2019
C02: Lớp & đối tượng
➢ Viết chương trình nhập tên học sinh, điểm toán, điểm
văn, tính điểm trung bình và xuất kết quả.
o Viết hàm main chạy kiểm tra kết quả
int main()
{
HocSinh hs;
Nhap(hs);
Xuat(hs);
cout<<"Diem TB: "<<TinhDiemTrungBinh(hs);
return 0;
}
16
9/6/2019
C02: Lớp & đối tượng
➢ Ví dụ: viết chương trình nhập tên học sinh, điểm toán,
điểm văn, tính điểm trung bình và xuất kết quả.
o Khai bá o class HOCSINH.
o Xác định các thuộc tính và phương thức của class
HOCSINH.
o Cài đặt các phương thức và thuộc tính.
o Viết hàm main chạy kiểm tra kết quả
17
9/6/2019
C02: Lớp & đối tượng
➢ Làm việc một mình:
oTự làm tự hiểu.
oMình luôn luôn hiểu mình???
➢ Làm việc theo nhóm:
oMỗi người một việc.
oCông việc được ráp, nối lại với nhau.
oMọi người luôn luôn hiểu nhau.
18
9/6/2019
C02: Lớp & đối tượng
➢ Không có chuẩn chung trên toàn thế giới.
➢ Quy ước đặt tên (Naming Convention)
o Tên phải thể hiện ý nghĩa:
▪ x, y, kt,… -> Không rõ ràng.
▪ Total, Run, KiemTra… -> Rõ ràng.
o Quy tắc đặt tên theo kiểu lạc đà (Camel Case)
▪ Các chữ viết liền nhau.
▪ Viết hoa chữ cái đầu mỗi từ.
▪ readFile, tinhTong…
19
9/6/2019
C02: Lớp & đối tượng
➢ Quy ước cách viết câu lệnh:
oViết câu lệnh rộng rãi rõ ràng.
oViết mỗi câu lệnh trên một dòng.
oViết cách khoảng giữa hai câu lệnh.
➢ Quy ước cách viết chú thích:
oPhải viết chú thích đầy đủ dễ hiểu.
oViết chú thích cho từng hàm.
oKhông viết tắt và dùng ngôn ngữ lạ.
20
9/6/2019
C02: Lớp & đối tượng
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 1: Lớp và đối tượng - Nguyễn Sơn Tùng", để 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:
- bai_giang_lap_trinh_huong_doi_tuong_chuong_1_lop_va_doi_tuon.pdf