Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
2,93 MB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CÔNG NGHỆ THÔNG TIN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA (OBJECT ORIENTED PROGRAMMING JAVA) CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN Sinh viên thực hiện: Đổ Minh Trung MSSV: 19004221 Lớp: ĐH.CNTT 2019 – A2 Khóa: 2019-2023 Người hướng dẫn: Nguyễn Vạn Năng Vĩnh Long, năm 2021 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG KHOA CÔNG NGHỆ THÔNG TIN PHIẾU GIAO ĐỒ ÁN CÔNG NGHỆ THÔNG TIN Tên đồ án: Lập trình hướng đối tượng Java Nhiệm vụ: Tìm hiểu lý thuyết, sau viết code minh họa Phương pháp đánh giá: Báo cáo trước hội đồng Chấm thuyết minh Ngày giao đồ án: ngày 22 tháng năm 2021 Ngày hoàn thành đồ án: ngày 20 tháng năm 2021 Số lượng sinh viên thực đồ án: Họ tên: Đổ Minh Trung MSSV: 19004221 Vĩnh Long, ngày 20 tháng năm 2021 Trưởng Khoa Người hướng dẫn (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) TS Phan Anh Cang Nguyễn Vạn Năng NHẬN XÉT VÀ ĐÁNH GIÁ CỦA NGƯỜI HƯỚNG DẪN Ý thức thực hiện: Nội dung thực hiện: Hình thức trình bày: Tổng hợp kết quả: - Tổ chức báo cáo trước hội đồng Tổ chức chấm thuyết minh Vĩnh Long, ngày 20 tháng năm 2021 Người hướng dẫn (Ký ghi rõ họ tên) Nguyễn Vạn Năng MỤC LỤC CHƯƠNG TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVATrang 1.1 GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH JAVA Trang 1.1.1 Java gì? Trang 1.1.2 Đặc điểm .Trang 1.2 CÁC THÀNH PHẦN CƠ BẢN TRONG JAVA Trang 1.2.1 Chú thích (comment) Trang 1.2.2 Khoảng trắng (White space) Trang 1.2.3 Từ khóa (keywords) Trang 1.2.4 Các định danh (identifiers) Trang 1.2.5 Kiểu liệu (date type) Trang 1.2.6 Biến (variable) Trang CHƯƠNG HƯỚNG DẪN CÀI ĐẶT JAVA Trang CHƯƠNG TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG JAVA 3.1 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG .Trang 3.2 CÁC THÀNH PHẦN CƠ BẢN TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 2.2.1 Đối tượng (Object) Trang 2.2.2 Lớp (Class) Trang 3.3 CÁC NGUYÊN LÝ CƠ BẢN TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 2.3.1 Tính đóng gói (Encapsulation) Trang 2.3.2 Tính kế thừa (Inheritance) Trang 2.3.3 Tính đa hình (Polymortphism) Trang 2.3.4 Tính trừu tượng(Abstraction) Trang 10 3.4 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG JAVA Trang 10 3.4.1 Đối tượng (Object) Trang 10 3.4.2 Lớp (Class) Trang 10 3.4.3 Kế thừa (Inheritance) Trang 10 3.4.4 Đa hình (Polymorphism) .Trang 11 3.4.5 Trừu tượng (Abstraction) .Trang 11 3.4.6 Đóng gói (Encapsulation) Trang 12 3.4.7 Sự khac lớp đối tượng java Trang 12 CHƯƠNG LỚP Trang 13 4.1 KHÁI NIỆM LỚP .Trang 13 4.2 CÁC THÀNH PHẦN CỦ LỚP Trang 14 4.2.1 Thuộc tính Trang 14 4.2.1.1 Khai báo .Trang 15 4.2.1.2 Truy xuất đến thuộc tính lớp từ bên ngoàiTrang 15 4.2.2 Phương thức Trang 16 4.2.2.1 Khai báo .Trang 16 4.2.2.2 Truy xuất đến phương thức từ bên .Trang 18 CHƯƠNG TÍNH KẾ THỪA .Trang 19 5.1 GIỚI THIỆU CHUNG 5.1.1 Kế thừa gì? 5.1.2 Một số dạng kế thừa thông dụng Trang 19 5.1.3 Ví dụ minh họa Trang 21 5.2 CÁC LOẠI KẾ THỪA TRONG JAVA Trang 21 5.2.1 Đơn kế thừa .Trang 21 5.2.1.1 Cấu trúc chung .Trang 21 5.2.1.2 Hình ảnh minh họa .Trang 22 5.2.1.3 Ví dụ Trang 22 5.2.2 Đa kế thừa Trang 23 5.2.2.1 Cấu trúc chung .Trang 23 5.2.2.2 Hình ảnh minh họa .Trang 23 5.2.2.3 Ví dụ .Trang 24 5.2.3 Kế thừa đa cấp Trang 24 5.2.3.1 Cấu trúc chung .Trang 24 5.2.3.2 Hình ảnh minh họa .Trang 25 5.2.3.3 Ví dụ .Trang 25 CHƯƠNG KẾT LUẬN Trang 26 6.1 ƯU, NHƯỢT ĐIỂM CỦA JAVA Trang 26 6.2 HƯỚNG PHÁT TRIỂN Trang 26 LỜI NĨI ĐẦU Ngơn ngữ lập trình Java đời nhà nghiên cứu Công ty Sun Microsystem giới thiệu vào năm 1995 Sau đời, ngơn ngữ lập trình Java sử dụng rộng rãi phổ biến lập trình viên chuyên nghiệp nhà phát triển phần mềm Cùng với phát triển khoa học, kỹ thuật, công nghệ thông tin nước ta năm gần phát triển mạnh, đặc biệt ngành công nghệ thông tin Công nghệ Java đưa vào giảng dạy sinh viên công nghệ thông tin số trường Đại Học các sở đào tạo lập trình viên chuyên nghiệp Để đáp ứng với yêu cầu học tập sinh viên chuyên ngành công nghệ thơng tin, chúng tơi biên soạn giáo trình “Cơng nghệ Java” Đây học phần sở sinh viên chuyên ngành Đại học Cao đẳng Công nghệ Thông tin Học phần cung cấp cho sinh viên kiến thức chuyên sâu ngôn ngữ Java, trang bị cho sinh viên kỹ viết phần mềm ứng dụng phần mềm nhúng Đây xem kiến thức tảng cho lập trình viên cơng nghệ Java Trang CHƯƠNG TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH JAVA 1.1 GIỚI THIỆU VỀ NGƠN NGỮ LẬP TRÌNH JAVA 1.1.1 Java gì? Java một ngơn ngữ lập trình đại, bậc cao, hướng đối tượng, bảo mật mạnh Java ban đầu phát triển bới Sun Microsystem, khởi sướng James Gosling mắt vào năm 1995 Hiện nay, Java ngơn ngữ lập trình phổ biến, sử dụng cho nhiều sản phẩm công nghệ 1.1.2 Đặc điểm Là ngơn ngữ lập trình bậc cao Là ngơn ngữ lập trình hướng đối tượng (Object oriented) Không phụ thuộc vào tảng (Platform independent) Là ngôn ngữ đa luống (Multithreaded) Hiệu cao 1.2 CÁC THÀNH PHẦN CƠ BẢN TRONG JAVA 1.2.1 Chú thích (comment) Là dịng văn người lập trình viết để giải cho viết chương trình Một dịng thích bắt đầu dấu //; nhiều dòng bắt đầu /* kết thúc */ VD: 1.2.2 Khoảng trắng (White space) Khoảng trắng bao gồm việc xuống dịng (phím Enter), tab (phím Tab), hay khoảng trắng (phím Spacebar) Mặc định, trình biên dịch Java bỏ qua khoảng trắng VD: Hai lệnh tương đương Trang Tuy nhiên có mốt số ngoại lệ, cụ thể kiểu String, trình biên dịch hiểu khoảng trắng ký tự hay chuỗi VD: 1.2.3 Từ khóa (keywords) Là từ hỗ trợ Java người lập trình khơng thể thay đổi hay định nghĩa Các từ khóa Java: 1.2.4 Các định danh (identifiers) Là tên biến, tên hay tên phương thức xuất chương trình Định danh định nghĩa Java main hay println định nghĩa người sử dụng Định danh cấu tạo kí tự, kí số, dấu _, dấu $ Khơng bắt đầu kí số Định danh có chiều dài Java 1.2.5 Kiểu liệu (date type) Kiểu Kiểu Kiểu Kiểu Kiểu Kiểu Kiểu Kiểu Kiểu Kiểu số nguyên int char short long byte số thực float double lý luận Trang Kiểu boolean Kiểu chuỗi Kiểu string 1.2.6 Biến (variable) Cú pháp khai báo biến : Kiểu_Dữ_Liệu tên_biến; VD: Trang 10 Các thành phần liệu lớp, gọi là: thuộc tính Các thành phần hành vi lớp, gọi là: phương thức 4.2.1 Thuộc tính Thuộc tính biến khai báo bên lớp bên phương thức, hàm tạo khối lệnh Thuộc tính khởi tạo lớp khởi tạo sử dụng bên hàm, hàm tạo khối lệnh lớp Cú pháp: [khả truy cập] kiểu thuộc tính tên thuộc tính [= giá trị ban đầu] 4.2.1.1 Khai báo VD: public class HinhTron { * Thuộc tính // Thuộc tính final float PI = 3.14f; float r; float cv; float dt; void tinhChuVi() { // Biến float banKinh = 10; cv = * PI * banKinh; } } 4.2.1.2 Truy xuất đến thuộc tính lớp từ bên ngồi Trang 22 Nếu muốn truy xuất đến thuộc tính lớp từ bên ngồi, ta sử dụng tốn tử Tuy nhiên khơng phải lúc lớp cho phép truy xuất đến thuộc tính (và phương thức) Nó tùy thuộc vào khả_năng_truy_cập mà nói Đa số lớp “giấu” thuộc tính thông qua khai báo khả_năng_truy_cập VD: public class MainClass { public static void main(String[] args) { // TODO Auto-generated method stub HinhTron hinhTron = new HinhTron(); hinhTron.r = 10.0f; } } 4.2.2 Phương thức Phương thức, hay gọi Method Một số tài liệu khác gọi Hàm Các phương thức hành động lớp Sau đối tượng tạo từ lớp, hành động hành động hay hành vi đối tượng Cú pháp: [kả_năng_truy_cập] kiểu_trả_về tên_phương_thức ( [tham_số] ) { // Các dịng code } Trong đó: • khả_năng_truy_cập nói sau, nhiên, bạn nên biết khả_năng_truy_cập phương thức hoàn toàn giống với khả_năng_truy_cập thuộc tính học trước, Trang 23 nên cần nói lần cho hai học sau mà thơi • tên_phương_thức tên phương thức, quy tắc đặt tên cho phương thức tương tự quy tắc đặt tên cho tên_thuộc_tính hơm trước, hay tên_biến học biến • tham_số đối số truyền vào cho phương thức, nói rõ học hôm 4.2.2.1 Khai báo public class MainClass { public static void main(String[] args) { // Khai báo đối tượng hinhTron, từ lớp HinhTron HinhTron hinhTron = new HinhTron(); // hinhTron kêu người dùng nhập bán kính lưu lại hinhTron.nhapBanKinh(); // Nếu hinhTron có bán kính lớn, in lỗi Ngược lại tính chu vi hinhTron if (hinhTron.vongTronLon()) { // Lấy kết trả từ phương thức getBanKinh() HinhTron dùng System.out.println("Hình trịn có bán kính " + hinhTron.getBanKinh() + " lớn!"); } else { // Lấy kết trả từ phương thức tinhChuVi() HinhTron dùng float chuvi = hinhTron.tinhChuVi(); System.out.println("Chu vi Hình trịn: " + chuvi); } } } Trang 24 Và bước hàm main() bên lớp MainClass, sử dụng kết trả hàm bên lớp HinhTron để làm vài tác vụ (như in console chẳng hạn) public class MainClass { public static void main(String[] args) { // Khai báo đối tượng hinhTron, từ lớp HinhTron HinhTron hinhTron = new HinhTron(); // hinhTron kêu người dùng nhập bán kính lưu lại hinhTron.nhapBanKinh(); // Nếu hinhTron có bán kính lớn, in lỗi Ngược lại tính chu vi hinhTron if (hinhTron.vongTronLon()) { // Lấy kết trả từ phương thức getBanKinh() HinhTron dùng System.out.println("Hình trịn có bán kính " + hinhTron.getBanKinh() + " q lớn!"); } else { // Lấy kết trả từ phương thức tinhChuVi() HinhTron dùng float chuvi = hinhTron.tinhChuVi(); System.out.println("Chu vi Hình trịn: " + chuvi); } } } 4.2.2.2 Truy xuất đến phương thức từ bên • Khi bạn bên ngồi lớp, muốn truy xuất đến phương thức lớp đó, bạn sử dụng tốn tử “.” Trang 25