Tải bản đầy đủ (.pdf) (36 trang)

đồ án cá nhân lập trình hướng đối tượng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (601.17 KB, 36 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH

KHOA KỸ THUẬT MẠNG MÁY TÍNH & TRUYỀN THƠNG 🕮🕮

ĐỒ ÁN CÁ NHÂN

MƠN HỌC:

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

GIẢNG VIÊN HƯỚNG DẪN : NGUYỄN MINH NHẬT

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

CHƯƠNG I GIỚI THIỆU BÀI TOÁN

1.1. Giới thiệu bài tốn

Nghành cơng an cần quản lý các phương tiện giao thông gồm: ô tô, xe máy, xe tải. Mỗi loại gồm các thông tin: ID, Hãng sản xuất, năm sản xuất, giá bán và màu xe.

Các ô tô có các thuộc tính riêng: số chỗ ngồi, kiểu động cơ. Các xe máy có các thuộc tính riêng: cơng xuất.

Xe tải cần quản lý thêm: Trọng tải.

Yêu cầu 1: Xây dựng các lớp để quản lý các phương tiện trên sao cho hiệu quả. Yêu cầu 2: Xây dựng lớp QLPTGT có các chức năng:

Thêm, xố (theo ID) các phương tiện thuộc các loại trên. Tìm phương tiện theo hãng sản xuất, màu.

Thốt chương trình. Hãy thực hiện:

✔ Thiết kế giao diện GUI để thực hiện được tất cả các chức năng nêu trên

✔ Thiết kế cơ sở dữ liệu phù hợp cho project. Dữ liệu đọc và lưu từ file hoặc từ Hệ Quản Trị CSDL như: MS. Access, SQL Server, MySQL v.v..

1.2. Yêu cầu

Yêu cầu 1: Xây dựng các lớp để quản lý các phương tiện trên sao cho hiệu quả.

Yêu cầu 2: Xây dựng lớp QLPTGT có các chức năng: Thêm, xố (theo ID) các phương tiện thuộc các loại trên. Tìm phương tiện theo hãng sản xuất, màu.

Thốt chương trình. 1.2.1. Đầu vào

2 | 36

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

+XeTai kế thừa lớp BienLai class +Otokế thừa lớp BienLai class +XeMay kế thừa lớp BienLai class

✔Xây dựng lớp QLPTGT(quản lý phương tiện giao thông) với các phương thức:

+ Thêm mới thơng tin + Xóa thơng tin (theo ID).

+ Tìm phương tiện theo hãng sản xuất, màu.

+ Thốt khỏi chương trình.

3 | 36

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

✔ Công cụ phát triển: NetBean

✔ Môi trường vận hành: Thực hiện PC, Desktop với hệ điều hành macOS Monterey

2.2.Thiết kế

2.2.1.Thiết kế cơ sở dữ liệu

✔ Hệ thống lưu trữ: Hệ thống File văn bản (dạng *.txt) ✔ Gồm file có cấu trúc như sau:

DanhSachXe.txt: Lưu trữ về thông tin xe

loại xe ID Hãng xe Màu Năm sản xuất

2.2.2.Thiết kế giao diện 2.2.2.1 Giao diện Command Line

4 | 36 <small>DANH SÁCH QUẢN LÝ PHƯƠNG TIỆN GIAO THƠNG</small>

<small>Thêm mới Xe.Xóa theo ID.</small>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Hình 1. Giao diện chinh dạng Command Line 2.2.2.2 Giao diện GUI

Hình 2. Giao diện chinh dạng đồ hoạ 2.2.3. Thiết kế lớp

2.2.3.1. Thiết kế lớp a. Lớp BienLai

5 | 36

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

✔ Tên lớp: Xe.java ✔ Thuộc tính: < private int namSanXuat;

private String mau,ID,hangSanXuat,loai;

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

final Xe other = (Xe) obj;

return Objects.equals(this.ID, other.ID);

public String xuatThongTin() {

return " ID : " + ID + ", Hãng sản xuất: " + hangSanXuat+ ", Màu của xe : " + mau+", Năm sản xuất: " + namSanXuat;

}

Scanner sc = new Scanner(System.in); public int getnamSanXuat() { return namSanXuat; }

7 | 36

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

public void setnamSanXuat(int intSanXuat) {

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

public Xe(int namSanXuat, String mau, String ID, String

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

public int compareTo(Xe o) {

public String xuatThongTin() {

return "Loại xe: Xe máy : "+super.xuatThongTin();

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

public String xuatThongTin() {

return "Loại xe : Xe tải : "+super.xuatThongTin();

private int soChoNgoi; private String kieuDongCo; >

11 | 36

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

public String xuatThongTin() {

return "loai xe: Oto : "+super.xuatThongTin();

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

ArrayList<Xe> dsXe=new ArrayList<>();

Scanner sc=new Scanner(System.in); System.out.println("Nhập vào số xe: ");

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

for (Xe xenew : dsXe) {

System.out.println("Thông tin xe : "+xenew.xuatThongTin());

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

for (Xe xe : dsXe) {

FileWriter fw=new FileWriter("DanhSachXe.txt"); BufferedWriter bw=new BufferedWriter(fw); for (Xe xe : dsXe) {

FileReader fr=new FileReader("DanhSachXe.txt"); BufferedReader br=new BufferedReader(fr); String line="";

15 | 36

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

public Xe findXe(String hang,String mau){ for (Xe xe : dsXe) {

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

3.1.1. Giao diện GUI

18 | 36

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

3.2. Một số kết quả

19 | 36

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

3.2.1. Thêm mới Xe

20 | 36

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

3.2.1.1. Giao diện Comman Line Nhập vào số 2 để thêm Xe

3.2.1.2. Giao diện đồ hoạ

21 | 36

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Trước khi thêm:

Nhấn vào nút thêm(nếu để trống thông tin) => hiện ra thông báo

22 | 36

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Sau khi thêm:

23 | 36

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

Sau khi thêm kết quả được in lên Danh sách

3.2.2. Xóa Xe ra khỏi danh sách( dựa vào ID Xe)

24 | 36

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

3.2.2.1. Giao diện Comman Line Nhập vào số 4 để xóa (dựa vào ID của Xe)

Xe có ID X06 đã được xóa

và in danh sách

nếu nhập ID khơng có trong danh Sách => danh sách không thay đổi

3.2.2.2. Giao diện đồ hoạ

nhập ID để xóa thơng tin có trùng thơng tin đã nhập

25 | 36

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

click vào nút xóa

nếu ID để trống => hiện thông báo

26 | 36

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Sau khi nhập ID cần xóa bấm xóa sẽ hiện ra thơng báo clíck yes để tiếp tục xóa (nếu click No => hủy thao tác xóa)

27 | 36

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

Sau khi xóa

3.2.3. Tìm kiếm xe (dựa vào hãng xe và màu xe)

28 | 36

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

3.2.3.1. Giao diện Command line Nhập vào hãng xe và màu xe muốn tìm

nếu nhập thơng tin xe khơng có trong danh sách => khơng có thơng tin nào in ra

29 | 36

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

3.2.3.2. Giao diện đồ họa

Nhập vào hãng xe và màu xe muốn tìm

nếu thơng tin trùng với danh sách=> hiện thơng báo

30 | 36

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Nếu thông tin để trống => hiện thông báo

31 | 36

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

Nếu nhập thông tin không trùng với danh sách=> hiện thông báo

32 | 36

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

3.2.4. Thoát khỏi chương trình 3.2.4.1. Giao diện Command Line Nhập vào số 7 để thốt chương trình

33 | 36

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

3.2.4.2. Giao diện đồ họa

Nhấn vào nút thoát (Hoặc ICON X màu đỏ trên cùng) để thoát

34 | 36

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

Chương trình đã bị hủy và thốt ra

35 | 36

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

KẾT LUẬN

1. Các vấn đề đạt được

- Hiểu biết về các hệ thống Java - Các kỹ năng Java Core - Các công cụ dựng của Java - Làm việc nhóm

- Khả năng sáng tạo - Để ý các chi tiết

2. Các vấn đề chưa đạt được

- Liên kết chức năng chưa bắt lỗi đầy đủ - Cơ sở dữ liệu cịn sơ sài

- Giao diện đồ họa chưa hồn thiện 3. Hướng phát triển

- Tiếp tục hoàn thiện các chức năng còn hạn chế

TÀI LIỆU THAM KHẢO

</div>

×