Mục tiêu và yêu cầu14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng 2 • Các khái niệm, phương pháp cơ bản của lập trình hướng đối tượng.. Mục tiêu • Nắm được các khái niệm đối tượ
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI
HA NOI OPEN UNIVERSITY
GIỚI THIỆU HỌC PHẦN
KỸ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Trang 2Mục tiêu và yêu cầu
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
2
• Các khái niệm, phương pháp cơ bản của lập trình
hướng đối tượng
Mục tiêu
• Nắm được các khái niệm đối tượng, thuộc tính, phương
thức, thông điệp, tương tác,…
• Các đặc trưng: lớp (class), đóng gói, che giấu, kế
thừa,…
Yêu cầu
Trang 3Tài liệu tham khảo
Chương 1: Giáo trình Kỹ thuật lập trình hướng đối tượng –Khoa CNTT – Viện Đại học Mở Hà Nội
Trang 4Nội dung bài học
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
4
• Đối tượng, thuộc tính, phương thức, thông điệp, quan
hệ, tương tác,…
• Các đặc trưng: đóng gói, che giấu, kế thừa,
• Giới thiệu các ngôn ngữ lập trình hướng đối tượng
Khái niệm
Trang 51.1 Phương pháp lập trình hướng đối tượng
Phương pháp lập trình cấu trúc:
Giải quyết bài toán theo hướng chức năng
Phân tích từ trên xuống - “top-down”
Chia chương trình thành nhiều mô-đun nhỏ - chương trìnhcon
Trang 61.1 Phương pháp lập trình hướng đối tượng
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
6
Lấy đối tượng làm nền tảng để xây dựng thuật giải, xây dựngchương trình
Chương trình được chia thành các lớp đối tượng
Phân tích và thiết kế từ dưới lên - “bottom-up”
Trang 7Ví dụ minh họa
Minh họa bài toán quản lý sinh viên:
Lập trình cấu trúc:
tin lớp học, môn học, sinh viên; cập nhật điểm thi,…
Lập trình hướng đối tượng:
• Xây dựng các lớp (class): sinh viên, lớp học, môn học,…
tương tác giữa đối tượng này với đối tượng khác
Trang 81.2 Các khái niệm và đặc trưng
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
8
Đối tượng (objects): là các thể hiện độc lập trong bộ nhớ,
gồm các biến và các hàm tác động lên các biến đó
Ta có thể hiểu đơn giản hơn: Đối tượng là sự kết hợp giữa dữliệu (thuộc tính của đối tượng) và phương thức (các thao táccủa đối tượng)
- Ví dụ: sinh viên, giáo viên, môn học, lớp học, xe máy, xeôtô, hàng hóa,…
Trang 91.2 Các khái niệm và đặc trưng
Thuộc tính (properties): là các thành phần (dưới dạng các
biến - variables) trong đối tượng để mô tả thông tin dữ liệuhay trạng thái (states) của đối tượng
- Ví dụ: Thuộc tính của đối tượng Nhân viên: mã nhân viên,
họ tên, ngày sinh,…
Phương thức (methods): là các thành phần (dưới dạng các
hàm) trong đối tượng để mô tả hành vi (behavior) hay khảnăng xử lý của đối tượng
- Ví dụ: đối tượng xe ôtô có thể: chạy (đi), đứng (dừng),…
Trang 101.2 Các khái niệm và đặc trưng
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
10
Đối tượng và các thành phần của đối tượng.
Trang 111.2 Các khái niệm và đặc trưng
Thông điệp (messages): là việc đối tượng A gọi thực hiện một
phương thức trên đối tượng B
Trang 121.2 Các khái niệm và đặc trưng
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
12
Mỗi thông điệp bao gồm các thành phần sau:
- Đối tượng được gọi
- Tên phương thức của đối tượng được gọi
- Các tham số (parameters) truyền cho phương thức
Ví dụ: sinhvien.nhap()
Trang 131.2 Các khái niệm và đặc trưng
Lớp (classes): là một khái niệm trừu tượng, nó đóng vai trò
như bản mẫu cho việc tạo lập hay xây dựng (tức các thể hiện
- instance) các đối tượng trong chương trình
Lớp là tập hợp các đối tượng có cấu trúc dữ liệu và phương
Trang 141.2 Các khái niệm và đặc trưng
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
14
Các đặc trưng:
Tính đóng gói (Encapsulation): cơ chế ràng buộc dữ liệu và
các thao tác trên dữ liệu đó thành một thể thống nhất
- Đóng gói nhằm che đi những chi tiết phức tạp bên trong
Tính kế thừa (Inheritance): Chúng ta có thể xây dựng các lớp
mới từ các lớp cũ thông qua sự kế thừa
Trang 151.2 Các khái niệm và đặc trưng
- Ví dụ về thừa kế: bài toán quản lý
học tâp của học sinh trung học cơ sở:
• Hai đối tượng có chung nhiều thuộc tính
• Lưu trữ riêng dẫn đến dư thừa dữ liệu
Tạo một lớp cơ sở với các thuộc tính và phương thứcchung cho cả 2 đối tượng (tên, ngày sinh,…), sau đó kế thừa
từ lớp chung này ta xây dựng 2 lớp mới và bổ sung thêm cácthuộc tính và phương thức riêng cho từng lớp
Trang 161.2 Các khái niệm và đặc trưng
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
16
Các đặc trưng:
Tính đa hình (polymorphism): thể hiện nhiều đối tượng xử
lý, phản hồi cho cùng một thông điệp
- Tính đa hình được gắn liền với ngữ cảnh trong chươngtrình, mỗi ngữ cảnh sẽ cho ra một hình thức khai thác, xử lý
cụ thể phù hợp
Trang 171.3 Ngôn ngữ lập trình hương đối tượng
Trang 181.3.2 Ngôn ngữ Java
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
Trang 191.3.2 Ngôn ngữ Java
Quá trình biên dịch và chạy chương trình Java:
Trang 201.3.3 Lập trình bằng ngôn ngữ Java
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
20
- Cài đặt môi trường soạn thảo và biên dịch: Eclipse
Giao diện làm việc với Eclipse
Trang 211.3.3 Lập trình bằng ngôn ngữ Java
- Cấu trúc 1 chương trình Java:
/*Phần 1: Khai báo thư viện*/
}
Trang 221.3.3 Lập trình bằng ngôn ngữ Java
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
22
Một số chú ý:
while, case, return, break, continue ;
System, JButton, JOptionPane ;
• Sử dụng toán tử “new” để sinh đối tượng từ lớp cho việc sử dụng, khai thác và xử lý, cụ thể:
Trang 241.3.3 Lập trình bằng ngôn ngữ Java
14/09/2013 Bài giảng Kỹ thuật lập trình hướng đối tượng
24
Khởi động Eclipse
Tạo mới một java project
Thêm một class mới vào project
Viết hàm main() và dòng lệnh hiển thị lời chào “Hello World”
public class Vidu01
{ public static void main(String args[])
{
System.out.print("Hello WWorld");
}}
Trang 25Câu hỏi trắc nghiệm