Phần mềm quản lý cửa hàng xe máy với Java | Học phần lập trình hướng đối tượng với Java giúp sinh viên năm được phương pháp lập trình hướng đối tượng (OOP) và ngôn ngữ lập trình Java cơ bản. Bài tập lớn môn học là tổng hợp kiến thức, kỹ năng về phương pháp lập trình hướng đối tượng và ngôn ngữ lập trình Java. Nội dung bài tập lớn gồm: Phân tích bài toán, giới thiệu tông quan về phương pháp lập trình hướng đối tượng, đặc trưng của ngôn ngữ lập trình Java, cài đặt phần mềm với ngôn ngữ Java trong đó sử dụng các lớp kế thừa, lớp trừu tượng vào giao diện (interface) của lập trình hướng đối tượng. Bài tập lớn là tài liệu tham khảo hữu ích cho SV ngành CNTT.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TÊN TIỂU LUẬN: PHẦN MỀM QUẢN LÝ CỬA HÀNG XE MÁY Khoa Giáo viên : : CÔNG NGHỆ THÔNG TIN GV.TRẦN XUÂN THANH Bắc Ninh, tháng 10, năm 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á TÊN TIỂU LUẬN: PHẦN MỀM QUẢN LÝ CỬA HÀNG XE MÁY STT Họ tên Ngày tháng năm sinh Mã sinh viên Nhiệm vụ Quản Thế Thành 25/1/2002 20200146 Code Nguyễn Thanh Tùng Vũ Duy Hiếu 22/05/2002 20200354 Code,Word 23/03/2001 20200357 Code Điểm (Tiểu luận/ tập lớn) Bằng số: CÁN BỘ CHẤM (Ký ghi rõ họ tên) Bằng chữ: CÁN BỘ CHẤM (Ký ghi rõ họ tên) MỤC LỤC I Giới thiệu chung lập trình hướng đối tượng (OOP) Khái niệm: Objects Layer Sự khác đối tượng lớp 2 Các tính chất Một điểm mẫu hình, quan điểm 4 Các mẫu hình định hướng đối tượng 5.Giới thiệu công cụ dự án……………………………………………… II Giới thiệu dự án ……………………………………………………………… 2.Giới thiệu dự án 2.1 SQL…………………………………………………………………………….14 2.2 Tạo Project: 12 2.3 Viết code: …………………………………………………………… ………12 2.4 Chạy chương trình: 17 Đánh giá chung: 24 Tài liệu tham khảo để học Java: 25 LỜI MỞ ĐẦU Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) mẫu hình lập trình dựa khái niệm "công nghệ đối tượng", mà đó, đối tượng chứa đựng liệu, trường, thường gọi thuộc tính; mã nguồn, tổ chức thành phương thức Phương thức giúp cho đối tượng truy xuất hiệu chỉnh trường liệu đối tượng khác, mà đối tượng có tương tác (đối tượng hỗ trợ phương thức "this" "self") Trong lập trình hướng đối tượng, chương trình máy tính thiết kế cách tách khỏi phạm vi đối tượng tương tác với Ngơn ngữ lập trình hướng đối tượng đa dạng, phần lớn ngơn ngữ lập trình theo lớp, nghĩa đối tượng ngôn ngữ xem thực thể lớp, dùng để định nghĩa kiểu liệu OOP xem giúp tăng suất, đơn giản hóa độ phức tạp bảo trì mở rộng phần mềm cách cho phép lập trình viên tập trung vào đối tượng phần mềm bậc cao Ngồi ra, nhiều người cịn cho OOP dễ tiếp thu cho người học lập trình phương pháp trước Một cách giản lược, khái niệm nỗ lực nhằm giảm nhẹ thao tác viết mã cho người lập trình, cho phép họ tạo ứng dụng mà yếu tố bên ngồi tương tác với chương trình giống tương tác với đối tượng vật lý Những đối tượng ngôn ngữ OOP kết hợp mã liệu mà chúng nhìn nhận đơn vị Mỗi đối tượng có tên riêng biệt tất tham chiếu đến đối tượng tiến hành qua tên Như vậy, đối tượng có khả nhận vào thơng báo, xử lý liệu (bên nó), gửi hay trả lời đến đối tượng khác hay đến môi trường Đa phần ngơn ngữ lập trình thơng dụng (như C++, Delphi, Java, Python etc.) ngơn ngữ lập trình đa mẫu hình hỗ trợ lập trình hướng đối tượng nhiều mức độ khác nhau, thường kết hợp với lập trình mệnh lệnh, lập trình thủ tục I Giới thiệu chung lập trình hướng đối tượng (OOP) Khái niệm: -Lập đối tượng định hướng (OOP) kỹ thuật lập trình cho phép lập trình viên tạo đối tượng đối tượng mã hóa Objects Một đối tượng bao gồm thơng tin: thuộc tính phương thức • Chính thuộc tính thơng tin, đặc điểm đối tượng Ví dụ: người có đặc tính mắt, mũi, tay, chân… • Phương thức tác vụ, hành động mà đối tượng thực Ví dụ: người thực hành động nói, đi, ăn, uống , Layer Một lớp bao gồm liệu kiểu bao gồm thuộc tính phương thức định nghĩa từ trước Đây biểu tượng đối tượng Khác với thông thường liệu kiểu, lớp đơn vị (vật thể) bao gồm kết hợp phương thức thuộc tính Hiểu nơm na đối tượng có đặc tính tương đồng gom lại thành đối tượng lớp Sự khác đối tượng lớp Lớp bạn hiểu mẫu, đối tượng thực thể thực dựa mẫu Ví dụ: Ta nói lồi chó, bạn hiểu lớp (lớp) chó có: • Các thơng tin, đặc điểm: chân, mắt, có đi, có chiều cao, có cân nặng, màu lơng… Các hành động như: ngủ, đi, ăn, ngủ… Đối tượng chó Phú Quốc ta nuôi nhà mang đặc tính lớp chó • 2.Các tính chất Đối tượng (object): Các liệu thị kết hợp vào đơn vị đầy đủ tạo nên đối tượng Đơn vị tương đương với chương trình đối tượng chia thành hai phận chính: phần phương thức (method) phần thuộc tính (attribute / Properties) Trong thực tế, phương thức đối tượng hàm thuộc tính biến, tham số hay nội đối tượng (hay nói cách khác tập hợp liệu nội tạo thành thuộc tính đối tượng) Các phương thức phương tiện để sử dụng đối tượng thuộc tính mơ tả đối tượng có tính chất Các phương thức thuộc tính thường gắn chặt với thực tế đặc tính sử dụng đối tượng Trong thực tế, đối tượng thường trừu tượng hóa qua việc định nghĩa lớp (class) Tập hợp giá trị có thuộc tính tạo nên trạng thái đối tượng Mỗi phương thức hay liệu nội với tính chất định nghĩa (bởi người lập trình) xem đặc tính riêng đối tượng Nếu khơng có lầm lẫn tập hợp đặc tính gọi chung đặc tính đối tượng Lập trình hướng đối tượng phương pháp lập trình có tính chất sau: • • • • Tính trừu tượng (abstraction): Đây khả chương trình bỏ qua hay khơng ý đến số khía cạnh thơng tin mà trực tiếp làm việc lên, nghĩa có khả tập trung vào cốt lõi cần thiết Mỗi đối tượng phục vụ "động tử" hồn tất cơng việc cách nội bộ, báo cáo, thay đổi trạng thái liên lạc với đối tượng khác mà không cần cho biết làm cách đối tượng tiến hành thao tác Tính chất thường gọi trừu tượng liệu Tính đóng gói (encapsulation) che giấu thơng tin (information hiding): Tính chất khơng cho phép người sử dụng đối tượng thay đổi trạng thái nội đối tượng Chỉ có phương thức nội đối tượng cho phép thay đổi trạng thái Việc cho phép mơi trường bên tác động lên liệu nội đối tượng theo cách hoàn tồn tùy thuộc vào người viết mã Đây tính chất đảm bảo tồn vẹn đối tượng Tính đa hình (polymorphism): Thể thơng qua việc gửi thơng điệp (message) Việc gửi thơng điệp so sánh việc gọi hàm bên đối tượng Các phương thức dùng trả lời cho thông điệp tùy theo đối tượng mà thơng điệp gửi tới có phản ứng khác Người lập trình định nghĩa đặc tính (chẳng hạn thơng qua tên phương thức) cho loạt đối tượng gần thi hành dùng tên gọi mà thi hành đối tượng tự động xảy tương ứng theo đặc tính đối tượng mà khơng bị nhầm lẫn Tính kế thừa (inheritance): Đặc tính cho phép đối tượng có sẵn đặc tính mà đối tượng khác có thơng qua kế thừa Điều cho phép đối tượng chia sẻ hay mở rộng đặc tính sẵn có mà khơng phải tiến hành định nghĩa lại Tuy nhiên, ngôn ngữ định hướng đối tượng có tính chất 3.Một điểm mẫu hình, quan điểm OOP cịn đề tài nhiều tranh cãi định nghĩa chuẩn xác hay nguyên lý Trong dạng tổng quát nhất, OOP hiểu theo cách loại thực nghiệm viết chương trình văn phân cấp thành nhiều mô đun (module), mà mơ đun đóng vai lớp vỏ che đại diện cho kiểu liệu Những khái niệm liên hệ góp nhặt lại để tạo thành khn khổ cho việc lập trình Các triết lý đằng sau việc định hướng đối tượng trở nên mạnh mẽ để tạo thành chuyển đổi mẫu hình ngành lập trình Những mẫu hình khác lập trình chức lập trình thủ tục tập trung chủ yếu hành động, cịn lập trình lơ gíc lại tập trung vào khẳng định hợp lý để kích hoạt thực thi mã chương trình OOP phát triển cách độc lập từ việc nghiên cứu ngôn ngữ định hướng hệ thống mơ phỏng, SIMULA 67, từ việc nghiên cứu kiến trúc hệ thống có độ tin cậy cao, kiến trúc CPU khả hệ điều hành Một chức đặc sắc OOP việc xử lý kiểu kiểu liệu Dữ liệu đối tượng, cách tổng quát, đòi hỏi thiết kế để thỏa mãn yêu cầu người lập trình (tức lớp) Các kiểu liệu bị giới hạn thêm điều kiện có kiểu liệu với loại khơng bị ràng buộc điều kiện đó, gọi kiểu liệu Cả hai loại kiểu liệu dựa vào điều tiết hành xử (tức phương thức) định nghĩa Các điều kiện hay yêu cầu khai báo rõ ràng hay giả thiết công nhận ngầm người lập trình Các ngơn ngữ định hướng đối tượng cung cấp nhiều chế cho việc khẳng định giả thiết có tính địa phương cho phần chương trình Các chế này đọc thấy tài liệu chương trình định hướng đối tượng OOP tự dùng để khuyến cho nhiều sản phẩm dịch vụ Các định nghĩa ích lợi đặc tính OOP thường màu mè hóa mục trường thương mại Tương tự, nhiều ngơn ngữ lập trình có quan điểm đặc biệt OOP mà tổng quát số khía cạnh Các định nghĩa xác OOP có khác biệt tùy theo quan điểm Đặc biệt, ngơn ngữ có kiểu tĩnh thường có nhìn khác với ngơn ngữ có kiểu động OOP, ngun chúng tập trung thời gian dịch hay tập trung vào thời gian thi hành chương trình OOP thường xem mẫu hình kiểu hay phong cách lập trình nhằm nhấn mạnh vào điểm quan trọng OOP thay đổi phương thức phát triển phần mềm cách thay đổi tư người lập trình kỹ sư phần mềm phần mềm Mẫu hình OOP chủ yếu khơng phải kiểu lập trình mà kiểu thiết kế Một hệ thống thiết kế định nghĩa đối tượng mà đối tượng tồn hệ thống đó, mã mà làm việc chưa tương thích với đối tượng, người dùng đối tượng ảnh hưởng tính chất đóng đối tượng Cũng nên lưu ý có khác biệt mẫu hình định hướng đối tượng lý thuyết hệ thống OOP tập trung đối tượng đơn vị hệ thống, đó, lý thuyết hệ thống lại tự tập trung vào hệ thống Như phần trung gian, người ta tìm thấy dạng thức thiết kế phần mềm hay kỹ thuật khác dùng lớp đối tượng viên gạch thành phần lớn Những thành phần xem bước trung gian từ mẫu hình định hướng đối tượng đến mơ hình "định hướng sống thực" lý thuyết hệ thống 4.Các mẫu hình định hướng đối tượng Có nhiều phong cách lập trình hướng đối tượng Sự khác phong cách tùy theo việc ngơn ngữ lập trình trọng vào khía cạnh thuận lợi định hướng đối tượng vào việc kết hợp cấu trúc phương cách khác OPP với ngôn ngữ cấu trúc: Trong ngôn ngữ cấu trúc, OOP thường xuất dạng mà kiểu liệu mở rộng để hành xử giống kiểu đối tượng OOP, hoàn toàn tương tự cho kiểu liệu trừu tượng với mở rộng kế thừa Mỗi phương pháp thực chương trình con, cách cú pháp, giới hạn nội lớp Các mô hình nguyên mẫu bản: Khác với cách sử dụng lớp, ngun mẫu mơ hình khác biết đến hơn, có ý nghĩa đạt tới việc chia sẻ ứng xử theo định hướng đối tượng Sau đối tượng định nghĩa, đối tượng khác tương tự định nghĩa từ đối tượng ban đầu Ngôn ngữ nguyên mẫu biết đến nhiều JavaScript mà thiết lập ECMAScript Self, ngơn ngữ lập trình phát triển Sun Microsystems ví dụ ngôn ngữ dùng nguyên mẫu cho việc chia sẻ ứng xử không dùng phân lớp NewtonScript, Act1, Io Delegation ví dụ khác Đặc biệt, Hybrid Exemplars sử dụng hai mơ hình ngun mẫu phân lớp Trong hệ thống nguyên mẫu, đối tượng tự chúng khuôn thức (template), hệ thống phân lớp dùng lớp khuôn thức cho đối tượng Các tiếp cận kiểu phân lớp chiếm đa số OOP mà nhiều người định nghĩa đối tượng có tính chất đóng mà việc chia sẻ liệu xảy phân lớp tính kế thừa Mặc dù vậy, khái niệm tổng quát "chia sẻ ứng xử" công nhận kỹ thuật thay (như trường hợp nguyên mẫu) 5.Giới thiệu công cụ dự án *Công cụ Apache Netbeans NetBeans mơi trường phát triển tích hợp (IDE) cho Java NetBeans cho phép ứng dụng phát triển từ tập hợp thành phần phần mềm gọi modules NetBeans chạy Windows, macOS, Linux Solaris Ngồi việc phát triển Java, cịn có phần mở rộng cho ngơn ngữ khác PHP, C, C++, HTML5, JavaScript Các ứng dụng dựa NetBeans, bao gồm NetBeans IDE, mở rộng nhà phát triển bên thứ ba Netbeans IDE NetBeans IDE công cụ hỗ trợ lập trình viết mã code miễn phí cho tốt nay, sử dụng chủ yếu cho lập trình viên phát triển Java nhiên phần mềm có dung lượng nặng dành cho máy cấu hình có RAM, CPU tương đối cao để vận hành NetBeans IDE môi trường phát triển tích hợp cần thiết cho lập trình viên, cơng cụ hoạt động tốt với nhiều tảng hệ điều hành khác Linux, Windows, MacOS, mã nguồn mở cung cấp tính cần thiết nhăm ứng dụng web, thiết bị di động, desktop NetBeans IDE hỗ trợ nhiều ngôn ngữ lập trình Python, Ruby, JavaScript, Groovy, C / C + +, PHP Hình 2.1 Cơng cụ Apache Netbeans IDE Qua nhiều phiên cũ, công cụ lập trình NetBeans IDE cập nhật lên phiên 12.5 có nhiều thay đổi nâng cấp so với phiên cũ kể đến như: • • • • • Nâng cao ngơn ngữ lập trình C C++ Nâng cấp, cải tiến công cụ soạn thảo Profiler Java Hỗ trợ Docker, PHP ECMAScript hỗ trợ thử nghiệm ECMAScript Nâng cấp, cải tiến HTML Javascript Để cài đặt NetBeans IDE bạn phải cài đặt cấu hình sẵn JDK máy cài đặt NetBean IDE chia thành nhiều gói khác để người dùng tải phần, tiết kiệm dung lượng, tùy theo nhu cầu Giống với Notepad++, NetBean IDE có gợi ý cú pháp tốt, cịn nhiều tính thú vị tự động chỉnh mã nguồn, Remote FTP, SVN … Chính thế, xem môi trường phát triển bỏ qua cho lập trình viên Tính Netbeans IDE • Hỗ trợ nhiều loại ngơn ngữ lập trình Nhà cung cấp: Tài khoản: 11 Tạo Project: 2.2 Viết code: Quanlyxe.java(main): 12 Ketnoi.java Taikhoan.java 13 14 Khachhang.java 15 Do có q nhiều class lên em khơng thể show hết code lên q dài lên code cịn lại em để link github mong thầy thông cảm 16 2.3 Chạy chương trình: Bảng đăng nhập: Menu: 17