



















Preview text:
lO M oARcPSD| 45467232
TRƯỜNG ĐẠI HỌC VINH TRƯỜNG SƯ PHẠM
KHOA TIN H Ọ C
NGUYỄN HƯƠNG GIANG – THÁI THỊ QUỲNH HOA
DƯƠNG THỊ PHƯƠNG LINH – NGUYỄN NHẬT LONG
THÁI PHÚC THÀNH – CẦM BÁ PHONG ĐỀ TÀI SỐ 01
ĐỒ ÁN KẾT THÚC HỌC PHẦN
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Nghệ An, tháng 6/2024 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 NỘI DUNG BÁO CÁO I. Đề tài
II. Phân tích thiết kế các lớp III. Biểu diễn các lớp
IV. Nội dung code và input, output 1. Nội dung code
2. File Input.inp.txt chứa dữ liệu các máy in thường, máy in laser, máy in màu
3. Kết quả màn hình output ra màn hình notepad lO M oARcPSD| 45467232 LỜI MỞ ĐẦU
Lập trình hướng đối tượng (Tiếng Anh: Object-oriented programming - OOP) là một
mẫu hình lập trình dựa trên khái niệm "đối tượng", mà trong đó, đối tượng chứa đựng
các dữ liệu trong các trường, thường được gọi là các thuộc tính; và mã nguồn, được
tổ chức thành các phương thức. Phương thức giúp cho đối tượng có thể truy xuất và
hiệu chỉnh các trường dữ liệu của đối tượng khác, mà đối tượng hiện tại có tương tác
(đối tượng được hỗ trợ các phương thức "this" hoặc "self"). Trong lập trình hướng đối
tượng, chương trình máy tính được thiết kế bằng cách tách nó ra khỏi phạm vi các
đối tượng tương tác với nhau. Ngôn ngữ lập trình hướng đối tượng khá đa dạng, phần
lớn là các ngôn ngữ lập trình theo lớp, nghĩa là các đối tượng trong các ngôn ngữ này
được xem như thực thể của một lớp, được dùng để định nghĩa một kiểu dữ liệu.
Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà
chúng được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng
biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như
vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong của
nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường.
Đa phần các ngôn ngữ lập trình thông dụng nhất hiện nay (như C++, Delphi, Java,
Python, v.v...) là các ngôn ngữ lập trình đa mẫu hình và đều hỗ trợ lập trình hướng
đối tượng ở nhiều mức độ khác nhau, thường được kết hợp với lập trình mệnh lệnh,
lập trình thủ tục. Các ngôn ngữ lập trình hướng đối tượng đáng chú ý gồm có Java,
C++, C#, Python,...Đây cũng là một môn tiên quyết cho nhiều môn học chuyên ngành
của sinh viên ngành Sư Phạm Tin Học.
Sinh viên nắm vững kiến thức của môn học này sẽ là cơ sở cho việc tiếp cận
các ngôn ngữ lập trình hiện đại, các công cụ phát triển phần mềm. Sinh viên sẽ được
trang bị các phương pháp và kỹ thuật lập trình hiện đại để phát triển những phần mềm
có chất lượng cao, có tính mở và có khả năng đáp ứng những yêu cầu cuả thực tế.
Sinh viên được rèn luyện các kỹ năng đọc, phân tích, thiết kế và giải quyết bài toán
theo việc tiếp cận hướng đối tượng, khả năng tìm kiếm các tài liệu hỗ trợ học tập và
khả năng làm việc nhóm.
Sau khi kết thúc môn học, chúng em đã được nhận đề tài từ phía giảng viên để làm
đò án nhằm rèn luyện lại kiến thức, tiếp cận sau hơn vào việc phân tích, thiết kế, giải
quyết bài toán theo hướng đối tượng, ứng dụng nó để viết ra các phần mềm, đồng
thời hoàn thành các sản phẩm của đồ án. lO M oARcPSD| 45467232 LỜI CẢM ƠN
Lời đầu tiên, nhóm chúng em xin được gửi lời cảm ơn chân thành tới các Thầy,
Cô tại Trường Đại Học Vinh, đặc biệt là Thầy Cô Khoa Tin Học, Viện Kỹ Thuật và
Công Nghệ, những người đã trực tiếp giảng dạy, giúp đỡ chúng em trong những năm
tháng mới bắt đầu chập chững vào trường.
Sinh viên ngành Sư Phạm Tin Học ngày nay phải không ngừng học hỏi, cập nhật
những điều mới, biết vận dụng những điều học được vào thực tế cuộc sống. Trong
quá trình tiến hành làm đồ án lập trình hướng đối tượng là bước đầu tiên mà nhóm
chúng em đi sâu vào những lĩnh vực Công Nghệ Thông Tin dựa trên những gì đã học
và dưới sự hướng dẫn của các Thầy Cô trong ngành. Để đồ án lập trình hướng đối
tượng được hoàn thiện, ngoài sự cố gắng của tất cả mọi người trong nhóm thì còn có
sự giúp đỡ, hướng dẫn tận tình của các Thầy Cô. Nhóm 1 xin chân thành cảm ơn các
Thầy Cô trong Khoa Tin Học, đặc biệt là cô Trần Thị Kim Oanh – Người luôn nhiệt tình
trong việc trang bị cho chúng em kiến thức và kỹ năng cơ bản cần thiết và hướng dẫn
chúng em hoàn thành đồ án đúng tiến độ, đạt kết quả tốt.
Tuy đã cố gắng thực hiện đề tài một cách trọn vẹn. Nhưng trong quá trình làm bài, do
hiểu biết của bọn em còn nhiều hạn chế và thiếu kinh nghiệm thực tiễn nên nội dung
đồ án rât khó tránh khỏi những thiếu sót. Nhóm em rất mong nhận được những lời
góp ý, những lời nhận xét từ Thầy Cô và các bạn để chúng em có thể hoàn thành tốt
hơn nữa cho các đồ án sau này. Các ý kiến nhận xét, góp ý chân thành từ Thầy Cô
và các bạn xin gửi về địa chỉ email: .....
Chúng em xin chân thành cảm ơn! lO M oARcPSD| 45467232
1. Bảng phân chia công việc trong nhóm Chức vụ trong
Nhiệm vụ được phân công
STT Họ và tên nhóm 1 Nguyễn Hương Giang Nhóm Trưởng
Code chính, làm bản word, nhập dữ liệu 2 Thái Thị Quỳnh Hoa Thành Viên
Tham gia code phụ, làm bản word 3 Dương Thị Phương Linh Thành Viên
Tham gia code phụ, làm bản word 4 Nguyễn Nhật Long Thành Viên
Tham gia code phụ, nhập dữ liệu 5 Thái Phúc Thành Thành Viên
Tham gia code phụ, nhập dữ liệu 6 Cầm Bá Phong Thành Viên
Tham gia code phụ, nhập dữ liệu
2. Bảng tự đánh giá nhóm Tự đánh giá
STT Họ và tên
Loại A, B, C, D theo các tiêu chí trong bảng dưới 1 Nguyễn Hương Giang A+ 2 Thái Thị Quỳnh Hoa A 3 Dương Thị Phương Linh A 4 Nguyễn Nhật Long A 5 Thái Phúc Thành A 6 Cầm Bá Phong B
Các tiêu chí đánh giá: Tiêu chí Mức đánh giá đánh giá
A (8.5 – 10) B (7.0 – 8.4) C (5.5 – 6.9) D (4.0 – 5.4) F (0 – 3.9) Hợp tác - Luôn lắng - Thường
- Có 3, 4 lần - Có 1, 2 lần - Không bao giờ nhóm nghe, chia lắng nghe, tham gia tham gia tham gia thảo sẻ và ủng hộ chia sẻ thảo luận thảo luận luận trong (CLO 3.1) những nỗ trong nhóm nhóm và nhóm và nhóm lực của bình luận bình luận thành viên trong nhóm lO M oARcPSD| 45467232 Thảo luận - Học hỏi, - Thu thập - Chỉ thu - Có đưa ra - Không thu thập nhóm
tìm kiếm, thu thông tin cơ thập thông ý tưởng thông tin thập và nhưng (CLO 3.1)
đưa ra nhiều bản về đề tài tin khi có yêu không rõ hay đóng góp ý tài liệu liên cầu ràng và kiến cho nhóm - Thỉ nh quan đề tài không liên
thoảng đưa - Ít khi đưa quan đến - Đưa ra ra những ý ra ý tưởng yêu cầu của những ý tưởng liên liên quan nhóm
tưởng, quan quan đến đề đến đề tài điểm rõ ràng tài liên quan đến đề tài lO M oARcPSD| 45467232 I. Đề tài
II. Phân tích thiết kế các lớp 1. Lớp Máy In
- Thuộc tính: loai, SoHieu, MauSac, TocDo, CuongDo, BoNho, SoLuong.
- Phương thức: NhapThongTin, HienThiThongTin, getSoHieu, getSoLuong, getDPI, getSoMau.
2. Lớp Máy In Laser( kế thừa từ lớp máy in)
- Thuộc tính: số điểm in trên một đơn vị in của máy tính(DPI).
- Phương thức: NhapThongTin, HienThiThongTin, getDPI, getSoMau.
3. Lớp Máy In Màu ( kế thừa lớp máy in laser) lO M oARcPSD| 45467232
- Thuộc tính: SoMau.
-Phương thức: NhapThongTin, HienThiThongTin, getSoMau.
4. Lớp Hóa Đơn Bán Hàng -
Thuộc tính: MaHoaDon, NguoiMuaHang, MatHang, SoLuong, Tien, TongTien, NgayBanHang. - Phương thức: Nhapthongtin, HienThiThongTin, getMaHoaDon,
getNguoiMuaHang, getMatHang, getSoLuong, getNgayBanHang.
5. Lớp Hóa Đơn Nhập Hàng - Thuộc tính: MaHoaDon, MatHang, SoLuong, Tien, TongTien, NgayNhapHang. - Phương thức: Nhapthongtin, HienThiThongTin, getMaHoaDon,
getMatHang, getSoLuong, getNgayNhapHang.
6. Lớp Quản Lý Máy In - Thuộc tính: MaxMayIn, DanhSachMayIn[MaxMayIn], SoLuongMayIn,
SoLuongHoaDonBanHang, SoLuongHoaDonNHapHang.
- Phương thức: ThemMayIn, NhapDuLieuTuFile, NhapMayInThuong,
NhapMayInLaser, NhapMayInMau, HienThiDanhSach, XuatHoaDon,
ThongKe, TimKiem, ThongBaoLoaiMayInConIt, ThemHoaDonBanHang, ThemHoaDonNhapHang,
HienThiDanhSachHoaDonNhapHang,
HienThiDanhSachHoaDonBanHang, CapNhatSoLuong.
III. Biểu diễn các lớp lO M oARcPSD| 45467232
IV. Nội dung code và input, output
1. Nội dung code lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232 lO M oARcPSD| 45467232