1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phần mềm Quản lí sản xuất nội thất với Java

28 21 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Quản Lí Sản Xuất Nội Thất
Tác giả Dương Việt Hoàng, Vũ Quang Huy, Phan Quốc Chung
Người hướng dẫn Vũ Quang Huy
Trường học Trường Đại Học Công Nghệ Đông Á
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tiểu Luận
Năm xuất bản 2020
Thành phố Bắc Ninh
Định dạng
Số trang 28
Dung lượng 907,01 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phần mềm Quản lí sản xuất nội thất 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.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

(bìa 1, bìa đóng giấy màu)

TIỂU LUẬN/

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/BÀI TẬP LỚN): QUẢN LÍ SẢN XUẤT NỘI

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐÔNG Á

(trang phụ bìa số 2, bìa mềm)

Điểm (Tiểu luận/ bài tập lớn) Bằng số: Bằng chữ:

CÁN BỘ CHẤM 1

(Ký và ghi rõ họ tên)

CÁN BỘ CHẤM 2

(Ký và ghi rõ họ tên)

Trang 3

DANH MỤC THANH VIÊN (Trình bầy trong trang riêng)

Giáo viên hướng dẫn xác nhận

MỤC LỤC (Trình bầy trong trang riêng)

DANH MỤC CÁC TỪ VIẾT TẮT (Nếu có)

(trình bầy trong trang riêng)

Hình 2.1

Trang 4

Nội dung chính:

PHẦN 1 : LÝ THUYẾT

Chương 1: Giới thiệu

-Định nghĩa Lập trinh hướng đối tượng 5

-Các ưu điểm của lập trình hướng đối tượng 6

Chương 2: Cú pháp cơ bản của Java -Cú pháp cơ bản trong Java 6

-Cú pháp cơ bản trong Java 7

Chương 3: Lớp và đối tượng -Đối tượng 7

-Lớp 8

-Sự khác nhau giữa lớp và đối tượng trong java 9

Chương 4: Tính Kế thừa - Tính kế thừa trong Java - Từ khóa extends và implements trong Java 9

-Các loại kế thừa trong Java 10

-Các loại kế thừa trong Java 11

-Các loại kế thừa trong Java 12

Chương 5: Đa hình -Định nghĩa đa hình java 13

-Đa hình lúc runtime trong java 13

-Đa hình lúc runtime trong Java với thành viên dữ liệu 14

-Đa hình lúc runtime trong Java với kế thừa nhiều tầng 14

Chương 6: Ngoại lệ và xử lý ngoại lệ -xử lý ngoại lệ 15

-xử lý ngoại lệ 16

-Hệ thống cấp bậc của các lớp ngoại lệ trong Java 17

-Các kiểu của ngoại lệ 17

PHẦN 2 : MÔ TẢ MỤC ĐÍCH CHƯƠNG TRÌNH -Nhu cầu thực tiễn……… 18

-Xác định I/O……… 18

-Các chức năng của hệ thống……… 18

PHẦN 3: XÂY DỰNG CHƯƠNG TRÌNH -Thiết lập SQL Server……… 18

-Xây dựng chương trình trong JAVA……… 19

Trang 5

I LÝ THUYẾT

CHƯƠNG 1: Giới thiệu

Định nghĩa lập trình hướng đối tượng

-Lập trình hướng đối tượng hay còn gọi là lập trình OOP là kỹ thuật lập trình mà tất cả các

logic, yêu cầu thực tế đều được xây dựng xoay quanh các đối tượng

-Khi sử dụng OOP, chúng ta sẽ định nghĩa các class để mô hình hóa các đối tượng thực tế Trong ứng dụng các class sẽ được khởi tạo thành các instance Trong suốt thời gian ứng dụng chạy, các phương thức (method) của đối tượng này sẽ được gọi

-Trong thế giới thực, đối tượng là những thực thể tồn tại có trạng thái và hành vi

Trang 6

-Hướng tiếp cận này hiện đang rất thành công và đã trở thành một trong những khuôn mẫu phát triển phần mềm, đặc biệt là các phần mềm cho doanh nghiệp

Các ưu điểm của lập trình đối tượng

• Dựa trên nguyên lý kế thừa, trong quá trình mô tả các lớp có thể loại bỏ những chương trình bị lặp, dư Và có thể mở rộng khả năng sử dụng các lớp mà không cần thực hiện lại Tối ưu và tái sử dụng code hiệu quả

• Đảm bảo rút ngắn thời gian xây dựng hệ thống và tăng năng suất thực hiện

Sự xuất hiện của 2 khái niệm mới là lớp và đối tượng chính là đặc trưng của phương pháp lập trình hướng đối tượng Nó đã giải quyết được các khuyết điểm

của phương pháp lập trình hướng cấu trúc để lại Ngoài ra 2 khái niệm này đã giúp biểu diễn tốt hơn thế giới thực trên máy tính

CHƯƠNG 2: Cú pháp cơ bản trong java

Về chương trình Java, khi bạn đặt tên cho bất cứ thành phần nào, bạn cần tuân theo qui ước đặt tên của chúng Qui ước đặt tên trong Java là một qui tắc bạn cần theo khi quyết định đặt tên nào

Trang 7

cho định danh (Identifier) của mình, chẳng hạn như đặt tên cho lớp, package, biến, hằng, phương thức, … Nhưng nó không bắt buộc để bạn phải theo Vì thế nó được gọi là qui ước chứ không phải là qui tắc

• Java là chương trình phân biệt chữ hoa chữ thường, điều đó có nghĩa

là QUANGHUY và QUANGHUY mang những ý nghĩa khác nhau trong Java

Tên Class - Tất cả các tên Class trong Java nên viết hoa chữ cái đầu tiên và là một danh

từ

Nếu không viết hoa, các trình IDE sẽ cảnh báo bạn (tất nhiên là Java vẫn chấp nhận nếu

cố tình viết thường chữ cái đầu tiên)

Ví dụ public void actionPerformed()

Tên biến - Nên bắt đầu với chữ thường, ví dụ: firstName, orderNumber

Tên package - Nên bắt đầu với chữ thường, ví dụ: java, lang, sql, util

Tên hằng - Nên bắt đầu với chữ hoa, ví dụ: RED, YELLOW, MAX_PRIORITY

Tên file chương trình - Tên file nên giống hệt tên class

Khi bạn lưu file, bạn nên sử dụng tên class và thêm hậu tố `.java`

Ví dụ: với tên class `MyfirstJavaProgram`, bạn nên lưu file dưới

tên `MyFirstJavaProgram.java`

public static void main(String args[]) - Chương trình Java bắt đầu bởi phương thức

main() cho tất cả các chương trình J2SE

CHƯƠNG 3: LỚP VÀ ĐỐI TƯỢNG

-Trong bài này chúng ta sẽ học về lớp và đối tượng trong java Trong phương pháp lập trình hướng đối tượng, chúng ta thiết kế chương trình bằng việc sử dụng các lớp và đối tượng

Đối tượng

Trang 8

Một thực thể có trạng thái và hành vi được gọi là đối tượng Ví dụ như máy pha cà phê, xe đạp, cái quạt

Một đối tượng có ba đặc điểm:

• Trạng thái: Đại diện cho dữ liệu (giá trị) của một đối tượng

• Hành vi: Đại diện cho hành vi (chức năng) của một đối tượng như gửi tiền, rút tiền,

• Danh tính: Danh tính của một đối tượng thường được cài đặt thông qua một ID duy nhất ID này được ẩn đối với user bên ngoài Tuy nhiên nó được sử dụng trong nội bộ máy ảo JVM để định danh từng đối tượng

Ví dụ: Bút chì là một đối tượng Tên của nó là A, màu trắng, được gọi là trạng thái Nó được

sử dụng để viết, viết được gọi là hành vi

Đối tượng(Object) là một thể hiện của một lớp(Class) Lớp là một mẫu hoặc thiết kế từ đó

các đối tượng được tạo ra Vì vậy, đối tượng là các thể hiện (kết quả) của một lớp

Trong ví dụ này, chúng tôi đã tạo ra một lớp Student có hai thành viên dữ liệu id và name Chúng

ta tạo ra các đối tượng của lớp Student bởi từ khóa new và in giá trị của các đối tượng

public class Student {

int id; // thành viên dữ liệu

String name; // thành viên dữ liệu

public static void main(String args[]) {

Student student1 = new Student(); // tạo một đối tượng student1

System.out.println(student1.id);

System.out.println(student1.name);

}

}

Trang 9

Kết quả:

0 null

Sự khác nhau giữa lớp và đối tượng trong java

Sự khác nhau giữa lớp và đối tượng trong java được thống kê trong bảng sau:

3 Đối tượng là 1 thực thể vật lý Lớp là 1 thực thể logic

4 Đối tượng được tạo ra chủ yếu từ từ khóa

new

Ví dụ: Student s1=new Student();

Lớp được khai báo bằng việc sử dụng từ khóa class

Ví dụ: class Student{}

5 Đối tượng có thể được tạo nhiều lần Lớp được khai báo 1 lần duy nhất

6 Đối tượng được cấp bộ nhớ khi nó được tạo

ra

Lớp không được cấp bộ nhớ khi nó được tạo

ra

7 Có rất nhiều cách để tạo ra đối tượng trong

java như từ khóa new, phương thức

newInstance(), phương thức clone(), phương

thức factory và deserialization

Chỉ có một cách để định nghĩa lớp trong java

sử dụng từ khoá class

CHƯƠNG 4: TÍNH KẾ THỪA

[Tính kế thừa trong Java - Từ khóa extends và implements trong Java]Tính kế thừa trong

Java là môt kỹ thuật mà trong đó một đối tượng thu được tất cả thuộc tính và hành vi của đối

tượng cha Ý tưởng đằng sau tính kế thừa trong Java là bạn có thể tạo các lớp mới mà được xây

dựng dựa trên các lớp đang tồn tại Khi bạn kế thừa từ một lớp đang tồn tại, bạn có thể tái sử

dụng các phương thức và các trường của lớp cha, và bạn cũng có thể bổ sung thêm các phương

Trang 10

thức và các trường khác Tính kế thừa biểu diễn mối quan hệ IS-A, còn được gọi là mối quan hệ cha-con

Khi chúng ta nói về tính kế thừa, từ khóa thường xuyên nhất được sử dụng là extends trong java và implements trong java Những từ khóa này có thể định nghĩa một kiểu là loại IS-A của

loại khác Sử dụng những từ khóa, chúng ta có thể tạo một đối tượng sử dụng thuộc tính của đối tượng khác Chúng ta sử dụng từ khóa extends của lớp con để có thể kế thừa các thuộc tính của lớp cha trừ các thuộc tính private của lớp cha

Các loại kế thừa trong Java

Trên cơ sở các lớp thì có 3 loại kế thừa trong Java, đó là single (đơn), multilevel (nhiều tầng) và

hierarchical (có cấu trúc) Trong lập trình Java, đa kế thừa (multiple) và kế thừa lai (hybrid) chỉ

được hỗ trợ thông qua Interface Chúng ta sẽ tìm hiểu về Interface trong chương sau đó

Ghi chú: Đa kế thừa không được hỗ trợ trong Java thông qua lớp Khi một lớp kế thừa từ nhiều

lớp, thì đây là đa kế thừa

Câu hỏi: Tại sao đa kế thừa không được hỗ trợ trong Java thông qua lớp?

Trả lời: Để giảm tính phức tạp và làm đơn giản hóa ngôn ngữ, đa kế thừa không được hỗ trợ

trong Java Giả sử có tình huống có ba lớp là A, B và C Lớp C kế thừa lớp A và B Nếu các lớp

A và B có cùng phương thức và bạn gọi nó từ đối tượng lớp con, thì điều này gây là tính lưỡng nghĩa là để gọi phương thức của lớp A hoặc lớp B

Bởi vì, compile time error thì tốt hơn là runtime error, Java sẽ thông báo một compile time error nếu bạn kế thừa 2 lớp Do đó, dù bạn có hay không có cùng phương thức hay khác phương thức, thì đó cũng là một lỗi tại compile time

Trang 11

Chương trình trên sẽ cho một Compile Time Error

Khi bạn đã hiểu rõ về từ khóa extends, chúng ta cùng tìm hiểu về từ khóa implements trong

quan hệ IS-A

Từ khóa implements được sử dụng bởi các lớp mà kế thừa từ Interface Interface có thể không

bao giờ được kết thừa bởi các lớp

Từ khóa instanceof trong Java

Bây giờ chúng ta sẽ dùng toán tử instanceof để kiểm tra xem B có phải là một A và dog có phải

là một A

interface A {}

class B implements A {}

public class C extends B {

public static void main ( String args []){

Trang 12

B m = new B ();

C d = new C ();

System out println ( m instanceof A );

System out println ( d instanceof B );

System out println ( d instanceof A );

Quan hệ HAS-A trong Java

Có những quan hệ chủ yếu dựa vào cách sử dụng Nó xác định có hay không một lớp cụ thể HAS-A Quan hệ này giúp chúng ta giảm được dư thừa trong code cũng như tránh các bug Cùng xem ví dụ dưới đây:

public class Vehicle {}

public class Speed {}

public class Van extends Vehicle {

private Speed sp ;

}

Điều này chỉ ra rằng lớp Van có quan hệ HAS-A với lớp Speed Việc sử dụng lớp riêng rẽ cho lớp Speed, chúng ta không cần thiết phải đặt toàn bộ code của lớp Speed bên trong lớp Van, điều này tăng tính tái sử dụng của lớp Speed cho nhiều ứng dụng

Một đặc điểm quan trọng nữa phải ghi nhớ là Java chỉ hỗ trợ kế thừa đơn Điều này nghĩa là một lớp không thể kế thừa từ nhiều hơn một lớp Do đó, đoạn code dưới đây là không hợp lệ:

public class C extends A , B {}

Trang 13

Mặc dù vậy một lớp vẫn có thể implement một hoặc nhiều interface Điều này loại bỏ khả năng không thể đa kế thừa trong Java

CHƯƠNG 5: ĐA HÌNH

Đa hình trong java (Polymorphism) là một khái niệm mà chúng ta có thể thực hiện một hành

động bằng nhiều cách khác nhau Polymorphism được cấu tạo từ 2 từ Hy Lạp: poly và morphs Trong đó "poly" có nghĩa là nhiều và "morphs" có nghĩa là hình thể Vậy polymorphism có nghĩa là nhiều hình thể

Có hai kiểu của đa hình trong java, đó là đa hình lúc biên dịch (compile) và đa hình lúc thực thi (runtime) Chúng ta có thể thực hiện đa hình trong java bằng cách nạp chồng phương thức và ghi đè phương thức

Nếu bạn nạp chồng phương thức static trong java, đó là một ví dụ về đa hình lúc biên dịch Trong bài này, chúng ta tập trung vào đa hình lúc runtime trong java

Đa hình lúc runtime trong java

Đa hình lúc runtime là quá trình gọi phương thức đã được ghi đè trong thời gian thực thi

chương trình Trong quá trình này, một phương thức được ghi đè được gọi thông qua biến tham chiếu của một lớp cha

Trước khi tìm hiểu về đa hình tại runtime, chúng ta cùng tìm hiểu về Upcasting

Ví dụ 1:

Chúng ta tạo hai lớp Bike và Splendar Lớp Splendar kế thừa lớp Bike và ghi đè phương thức run() của nó Chúng ta gọi phương thức run bởi biến tham chiếu của lớp cha Khi nó tham chiếu tới đối tượng của lớp con và phương thức lớp con ghi đè phương thức của lớp cha, phương thức lớp con được gọi lúc runtime

Khi việc gọi phương thức được quyết định bởi JVM chứ không phải Compiler, vì thế đó là đa hình lúc runtime

Trang 14

public static void main(String args[]) {

Bike b = new Splender(); // upcasting

b.run();

}

}

Kết quả:

running safely with 60km

Đa hình lúc runtime trong Java với thành viên dữ liệu

Phương thức bị ghi đè không là thành viên dữ liệu, vì thế đa hình tại runtime không thể có được bởi thành viên dữ liệu Trong ví dụ sau đây, cả hai lớp có một thành viên dữ liệu là speedlimit, chúng ta truy cập thành viên dữ liệu bởi biến tham chiếu của lớp cha mà tham chiếu tới đối tượng lớp con Khi chúng ta truy cập thành viên dữ liệu mà không bị ghi đè, thì nó sẽ luôn luôn truy cập thành viên dữ liệu của lớp cha

public static void main(String args[]){

Bike obj=new Honda3();

Trang 15

public static void main(String args[]) {

Animal a1, a2, a3;

Chương 6: Ngoại lệ và xử lý ngoại lệ

Exception Handling trong java hay xử lý ngoại lệ trong java là một cơ chế mạnh mẽ để xử lý

các lỗi runtime để có thể duy trì luồng bình thường của ứng dụng

Trong bài này, chúng ta sẽ tìm hiểu về ngoại lệ (Exception) trong java, các kiểu ngoại lệ và sự

khác biệt giữa các ngoại lệ checked và unchecked

Exception là gì?

Theo từ điển: Exception (ngoại lệ) là một tình trạng bất thường

Trong java, ngoại lệ là một sự kiện làm gián đoạn luồng bình thường của chương trình Nó là một đối tượng được ném ra tại runtime

Exception Handling là gì?

Trang 16

Exception Handling (xử lý ngoại lệ) là một cơ chế xử lý các lỗi runtime như ClassNotFound,

IO, SQL, Remote, vv

Lợi thế của Exception Handling trong java

Lợi thế cốt lõi của việc xử lý ngoại lệ là duy trì luồng bình thường của ứng dụng Ngoại lệ thường làm gián đoạn luồng bình thường của ứng dụng đó là lý do tại sao chúng ta sử dụng xử

lý ngoại lệ Hãy xem xét kịch bản sau:

Hệ thống cấp bậc của các lớp ngoại lệ trong Java

Trang 17

Các kiểu của ngoại lệ

Có hai loại ngoại lệ chính là: checked và unchecked Còn Sun Microsystem nói rằng có ba loại

ngoại lệ:

1 Checked Exception

2 Unchecked Exception

3 Error

Trang 18

II MÔ TẢ MỤC ĐÍCH CHƯƠNG TRÌNH

PHẦN MỀM QUẢN LÍ SẢN XUẤT NỘI THẤT

2.1 Nhu cầu thực tiễn

- Quản lí nhiều mặt hàng, các giao dịch, doanh thu

- Dễ dàng truy cập, tìm kiếm thông tin sản phẩm và đặc điểm theo yêu cầu người dùng

- Các dữ liệu được thống nhất, lưu trữ trong suốt quá trình bán hàng, độ an toàn thông tin

=> Giải pháp:

- Xây dựng chương trình JAVA kết nối CSDL để phục vụ việc lưu trữ, thống

kê, tính toán, tra cứu, báo cáo về hàng hóa, khách hàng

- Lọc dữ liệu với các yêu cầu riêng

- Cho phép tạo ra nhiều cơ sở dữ liệu

- Thống kê đầy đủ và ràng buộc

III Xây dựng chương trình

3.1 Thiết lập SQL Server

3.1.2 Source Database SQL Server

Trang 19

3.1.3 Sơ đồ Diagram SQL Server

- Miêu tả kết nối giữa kết Table trong Database QuanLiSanXuatNoiThat

Trang 20

3.2 Xây dựng chương trình trong JAVA

3.2.1 Kiến thức được áp dụng trong BTL

- Lập trình hướng đối tượng (OOP) :

+ Lớp cha , con kế thừa

+ Tính đóng gói

+ Phương thức khởi tạo Constructor

+ Phương thức ghi đè Override

+ Lớp trừu tượng : Interface

+ Luồng vào ra I/O

Ngày đăng: 06/12/2023, 17:05

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w