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

Phần mềm quản lý sinh viên với Java

21 7 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 đề Phần Mềm Quản Lý Sinh Viên
Thể loại Bài Tập Lớn
Định dạng
Số trang 21
Dung lượng 2,33 MB

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ý sinh viên 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ÀI TẬP LỚN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VỚI JAVA

Đề tài: PHẦN MỀM QUẢN LÝ SINH VIÊN

Trang 2

BÀI TẬP LỚN:

PHẦN MỀM QUẢN LÝ SINH VIÊN

Trang 3

MỤC LỤC

Lời giới thiệu

I Giới thiệu chung về lập trình hướng đối tượng (OOP) 5

1 Khái niệm: 5

Objects 5

Layer 5

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

2.Các tính chất cơ bản 5

3.Một điểm mới về mẫu hình, về quan điểm 7

4.Các mẫu hình định hướng đối tượng con 9

II.Giới thiệu công cụ và dự án 10

1.Công cụ Apache Netbeans 10

2.Giới thiệu về dự án 12

2.1 Tạo Project: 15

2.2 Viết code: 15

2.3 Chạy chương trình: 20

Đánh giá chung: 20

Tài liệu tham khảo để cùng học Java: 21

Trang 4

LỜI GIỚI THIỆU

Lập trình hướng đối tượng (tiếng Anh: Object-oriented programming, viết tắt: OOP) là

một mẫu hình lập trình dựa trên khái niệm "công nghệ đối tượng", mà trong đó, đối tượng

chứa đựng các dữ liệu, trên 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

OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm

ở bậc cao hơn Ngoài ra, nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp trước đó Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho phép

họ tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương tác với các chương trình đó giống như là tương tác với các đối tượng vật lý

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 etc.) 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, PHP, Ruby, Perl, Object Pascal,

Objective-C, Dart, Swift, Scala, Common Lisp, và Smalltalk

Để giải quyết các bài toán thực tế, sử dụng công cụ của Java là JDK và công cụ lập trình Apache Netbeans, nhóm chúng em đã thực hiện ứng dụng kiểm tra danh sách bệnh nhân CoVid-19 Hiện nay tình hình dich COVID-19 đang rất nguy hiểm trên địa bàn Hà Nội nói riêng cả nước Việt Nam nói chung và trên cả toàn thể thế giới Để góp phần vào việc phòng chống dịch bệnh Nhóm chúng em đã triển khai phần mềm làm nhiệm vụ kiểm soát tình hình bệnh trên toàn quốc

Trang 5

I Giới thiệu chung về lập trình hướng đối tượng (OOP)

1 Khái niệm:

-Lập đối tượng định hướng (OOP) là kỹ thuật lập trình cho phép lập trình viên tạo ra các đối tượng trong các đối tượng mã hóa

Objects

Một đối tượng bao gồm 2 thông tin: thuộc tính và phương thức

• Chính thuộc tính là những thông tin, đặc điểm của đối tượng Ví dụ: con người có

các đặc tính như mắt, mũi, tay, chân…

• Phương thức là những tác vụ, hành động mà đối tượng đó có thể thực hiện Ví dụ:

một người sẽ có thể thực hiện hành động nói, đi, ăn, uống ,

Layer

Một lớp là một bao gồm dữ liệu kiểu bao gồm các thuộc tính và các phương thức được định nghĩa từ trước Đây là một biểu tượng của đối tượng Khác với thông thường dữ liệu kiểu, một lớp là một đơn vị (vật thể) bao gồm sự kết hợp giữa các phương thức và các thuộc tính Hiểu nôm na hơn là các đối tượng có các đặc tính tương đồng được gom lại thành một đối tượng lớp

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

Lớp bạn có thể hiểu nó như là mẫu, đối tượng là một thực thể có thể thực hiện dựa trên mẫu đó Ví dụ: Ta nói về loài chó, bạn có thể hiểu nó là lớp (lớp) chó có:

• Các thông tin, đặc điểm: 4 chân, 2 mắt, có đuôi, có chiều cao, có cân nặng, màu lông…

• Các hành động như: ngủ, đi, ăn, ngủ…

2.Các tính chất cơ bản

Đối tượng (object): Các dữ liệu và chỉ thị được kết hợp vào một đơn vị đầy đủ tạo nên

một đối tượng Đơn vị này tương đương với một chương trình con và vì thế các đối tượng

sẽ được chia thành hai bộ phận chính: phần các phương thức (method) và phần các thuộc tính (attribute / Properties) Trong thực tế, các phương thức của đối tượng là các hàm và

Trang 6

các thuộc tính của nó là các biến, các tham số hay hằng nội tại của một đối tượng (hay nói cách khác tập hợp các dữ liệu nội tại tạo thành thuộc tính của đối tượng) Các phương thức là phương tiện để sử dụng một đối tượng trong khi các thuộc tính sẽ mô tả đối tượng

Tập hợp các giá trị hiện có của các thuộc tính tạo nên trạng thái của một đối tượng

Mỗi phương thức hay mỗi dữ liệu nội tại cùng với các tính chất được định nghĩa (bởi người lập trình) được xem là một đặc tính riêng của đối tượng Nếu không có gì lầm lẫn thì tập hợp các đặc tính này gọi chung là đặc tính của đối tượng

Lập trình hướng đối tượng là một phương pháp lập trình có 4 tính chất chính sau:

Tính trừu tượng (abstraction): Đây là khả năng của chương trình bỏ qua hay

không chú ý đến một số khía cạnh của thông tin mà nó đang trực tiếp làm việc lên, nghĩa là nó có khả năng tập trung vào những cốt lõi cần thiết Mỗi đối tượng phục

vụ như là một "động tử" có thể hoàn tất các công việc một cách nội bộ, báo cáo, thay đổi trạng thái của nó và liên lạc với các đối tượng khác mà không cần cho biết làm cách nào đối tượng tiến hành được các thao tác Tính chất này thường

được gọi là sự trừu tượng của dữ liệu

Tính trừu tượng còn thể hiện qua việc một đối tượng ban đầu có thể có một số đặc điểm chung cho nhiều đối tượng khác như là sự mở rộng của nó nhưng bản thân đối tượng ban đầu này có thể không có các biện pháp thi hành Tính trừu tượng

này thường được xác định trong khái niệm gọi là lớp trừu tượng hay lớp cơ sở

trừu tượng

Tính đóng gói (encapsulation) và che giấu thông tin (information hiding): Tính

chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó Việc cho phép môi trường bên ngoài tác động lên các dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã Đây là tính chất đảm bảo sự toàn vẹn của đối tượng

Tính đa hình (polymorphism): Thể hiện thông qua việc gửi các thông

điệp (message) Việc gửi các thông điệp này có thể so sánh như việc gọi các hàm

bên trong của một đối tượng Các phương thức dùng trả lời cho một thông điệp sẽ tùy theo đối tượng mà thông điệp đó được gửi tới sẽ có phản ứng khác nhau

Người lập trình có thể định nghĩa một đặc tính (chẳng hạn thông qua tên của các

Trang 7

phương thức) cho một loạt các đối tượng gần nhau nhưng khi thi hành thì dùng cùng một tên gọi mà sự thi hành của mỗi đối tượng sẽ tự động xảy ra tương ứng theo đặc tính của từng đối tượng mà không bị nhầm lẫn

Ví dụ khi định nghĩa hai đối tượng "hinh_vuong" và "hinh_tron" thì có một phương thức chung là "chu_vi" Khi gọi phương thức này thì nếu đối tượng là "hinh_vuong"

nó sẽ tính theo công thức khác với khi đối tượng là "hinh_tron"

Tính kế thừa (inheritance): Đặc tính này cho phép một đối tượng có thể có sẵn

các đặc tính mà đối tượng khác đã có thông qua kế thừa Điều này cho phép các đối tượng chia sẻ hay mở rộng các đặc tính sẵn có mà không phải tiến hành định nghĩa lại Tuy nhiên, không phải ngôn ngữ định hướng đối tượng nào cũng có tính chất này

Hình 1.2 Các tính chất OOP

3.Một điểm mới về mẫu hình, về quan điểm

OOP vẫn còn là một đề tài của nhiều tranh cãi về định nghĩa chuẩn xác hay về các

nguyên lý của nó

Trong dạng tổng quát nhất, OOP được hiểu theo cách là một loại thực nghiệm viết

chương trình văn bản được phân cấp ra thành nhiều mô đun (module), mà mỗi mô đun

đóng vai như một lớp vỏ che đại diện cho mỗi kiểu dữ liệu

Những khái niệm liên hệ đã được góp nhặt lại để tạo thành một khuôn 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 một sự chuyển đổi mẫu hình trong ngành lập trình

Trang 8

Những mẫu hình khác như lập trình chức năng và lập trình thủ tục tập trung chủ yếu trên các hành động, còn lập trình lô gíc lại tập trung vào những khẳng định hợp lý để kích hoạt sự thực thi của mã chương trình

OOP đã phát triển một cách độc lập từ việc nghiên cứu về các ngôn ngữ định hướng của

hệ thống mô phỏng, đó là SIMULA 67, và từ việc nghiên cứu các kiến trúc của hệ thống

có độ tin cậy cao, đó là các kiến trúc CPU và khả năng cơ bản của các hệ điều hành Một chức năng đặc sắc của OOP là việc xử lý các kiểu con của các kiểu dữ liệu

Dữ liệu của các đối tượng, một cách tổng quát, được đòi hỏi trong thiết kế để thỏa mãn các yêu cầu của người lập trình (tức là các lớp)

Các kiểu dữ liệu bị giới hạn thêm các điều kiện mặc dù có cùng kiểu dữ liệu với loại không bị ràng buộc bởi các điều kiện đó, gọi là kiểu dữ liệu con Cả hai loại kiểu dữ liệu này đều dựa vào và đều được điều tiết bởi các hành xử (tức là các phương thức) đã được định nghĩa Các điều kiện hay yêu cầu này có thể được khai báo rõ ràng hay được giả thiết công nhận ngầm bởi người lập trình Các ngôn ngữ định hướng đối tượng cung cấp nhiều cơ chế cho việc khẳng định rằng các giả thiết đó có tính địa phương cho một phần của chương trình Các cơ chế này này có thể đọc thấy trong các tài liệu về các chương trình định hướng đối tượng

OOP tự nó đã đang được dùng để khuyến mãi cho nhiều sản phẩm và dịch vụ Các định nghĩa hiện tại và ích lợi của các đặc tính của OOP thường được màu mè hóa bởi các mục đích của thị trường thương mại Tương tự, nhiều ngôn ngữ lập trình có những quan điểm đặc biệt về OOP mà nó ít tổng quát trong một số khía cạnh

Các định nghĩa chính xác của OOP sẽ có sự khác biệt tùy theo quan điểm Đặc biệt, các ngôn ngữ có kiểu tĩnh thường có cái nhìn hơi khác với các ngôn ngữ có kiểu động về OOP, nguyên do là vì chúng tập trung trên thời gian dịch hay tập trung vào thời gian thi hành của các chương trình

OOP thường được xem là một mẫu hình hơn là một kiểu hay một phong cách lập trình nhằm nhấn mạnh vào điểm quan trọng là OOP có thể thay đổi phương thức phát triển phần mềm bằng cách thay đổi tư duy của những người lập trình và những kỹ sư phần mềm về phần mềm

Mẫu hình của OOP chủ yếu không phải là kiểu lập trình mà là kiểu thiết kế Một hệ thống được thiết kế bởi định nghĩa của các đối tượng mà các đối tượng này sẽ tồn tại trong hệ thống đó, trong mã mà hiện làm việc chưa tương thích với đối tượng, hay là trong người dùng đối tượng do ảnh hưởng của tính chất đóng của đối tượng

Cũng nên lưu ý rằng có sự khác biệt giữa mẫu hình định hướng đối tượng và lý thuyết các hệ thống OOP tập trung trên các đối tượng như là các đơn vị của một hệ thống, trong khi đó, lý thuyết các hệ thống lại tự nó chỉ tập trung vào hệ thống Như là phần trung gian, người ta có thể tìm thấy các dạng thức thiết kế phần mềm hay các kỹ thuật khác dùng các lớp và các đối tượng như là các viên gạch trong những thành phần lớn hơn Những thành phần này có thể được xem như là bước trung gian từ mẫu hình định hướng đối tượng đến các mô hình "định hướng sống thực" hơn của lý thuyết các hệ thống

Trang 9

4.Các mẫu hình định hướng đối tượng con

Có nhiều phong cách lập trình hướng đối tượng Sự khác nhau giữa các phong cách này

là tùy theo việc các ngôn ngữ lập trình chú trọng vào khía cạnh nào của sự thuận lợi của định hướng đối tượng và vào việc kết hợp các cấu trúc trong các phương cách khác nhau OPP với các ngôn ngữ cấu trúc:

Trong các ngôn ngữ cấu trúc, OOP thường xuất hiện như là một dạng mà ở đó các kiểu

dữ liệu được mở rộng để hành xử giống như là một kiểu của một đối tượng trong OOP, hoàn toàn tương tự cho một kiểu dữ liệu trừu tượng với sự mở rộng như là sự kế thừa Mỗi phương pháp thực ra là một chương trình con, một cách cú pháp, giới hạn nội trong một lớp

Các mô hình nguyên mẫu cơ bản:

Khác với cách sử dụng lớp, nguyên mẫu là một mô hình khác ít được biết đến hơn, nó có

ý nghĩa đạt tới việc chia sẻ ứng xử theo định hướng đối tượng Sau khi đối tượng được định nghĩa, một đối tượng khác tương tự sẽ được định nghĩa từ đối tượng ban đầu Ngôn ngữ nguyên mẫu cơ bản được biết đến nhiều nhất là JavaScript mà đây là một sự thiết lập của ECMAScript Self, một ngôn ngữ lập trình được phát triển bởi Sun

Microsystems cũng là một ví dụ của ngôn ngữ dùng nguyên mẫu cho việc chia sẻ ứng xử chứ không dùng sự phân lớp NewtonScript, Act1, Io và Delegation là các ví dụ khác Đặc biệt, Hybrid và Exemplars sử dụng cả hai mô hình nguyên mẫu và phân lớp Trong

các hệ thống nguyên mẫu, các đối tượng tự chúng là các khuôn thức (template), trong khi

các hệ thống phân lớp dùng các lớp như là các khuôn thức cho các đối tượng

Các tiếp cận kiểu phân lớp thì chiếm đa số trong OOP mà nhiều người sẽ định nghĩa các đối tượng như là có tính chất đóng mà việc chia sẻ dữ liệu xảy ra bởi sự phân lớp và bởi tính kế thừa Mặc dù vậy, khái niệm tổng quát hơn "chia sẻ ứng xử" được công nhận như

là các kỹ thuật thay thế (như trường hợp nguyên mẫu)

Trang 10

Hình 1.3 hệ thống chương trình của OOP

II.Giới thiệu công cụ và dự án

1.Công c ụ Apache Netbeans

NetBeans là một môi trường phát triển tích hợp (IDE) cho Java NetBeans cho phép các

ứng dụng được phát triển từ một tập hợp các thành phần phần mềm được gọi là modules

NetBeans chạy trên Windows, macOS, Linux và Solaris Ngoài việc phát triển Java, nó còn có các phần mở rộng cho các ngôn ngữ khác

như PHP, C, C++, HTML5, và JavaScript Các ứng dụng dựa trên NetBeans, bao gồm NetBeans IDE, có thể được mở rộng bởi các nhà phát triển bên thứ ba

Netbeans IDE

NetBeans IDE là một công cụ hỗ trợ lập trình viết mã code miễn phí được cho là tốt nhất hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy nhiên phần mềm có dung lượng khá là nặng dành cho các máy cấu hình có RAM, CPU tương đối cao

để vận hành

NetBeans IDE là môi trường phát triển tích hợp và cực kỳ cần thiết cho các lập trình viên, công cụ này có thể hoạt động tốt với rất nhiều nền tảng hệ điều hành khác nhau như Linux, Windows, MacOS, là một mã nguồn mở cung cấp các tính năng cần thiết nhất nhăm tại ra các ứng dụng web, thiết bị di động, desktop

NetBeans IDE hỗ trợ rất nhiều những ngôn ngữ lập trình như Python, Ruby, JavaScript, Groovy, C / C + +, và PHP

Ngày đăng: 06/12/2023, 15:37

HÌNH ẢNH LIÊN QUAN

Hình 1.2 . Các tính chất OOP - Phần mềm quản lý sinh viên với Java
Hình 1.2 Các tính chất OOP (Trang 7)
Hình 1.3 hệ thống chương trình của OOP - Phần mềm quản lý sinh viên với Java
Hình 1.3 hệ thống chương trình của OOP (Trang 10)
Hình 2.1. Công cụ Apache Netbeans IDE - Phần mềm quản lý sinh viên với Java
Hình 2.1. Công cụ Apache Netbeans IDE (Trang 11)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w