Đề tài Các nguyên tắc sáng tạo khoa học và ứng dụng trong ngôn ngữ lập trình java

Trong những năm gần đây, lập trình hướng đối tượng đã trở nên gần gũi nhờ sự ra đời liên tiếp của các ngôn ngữ lập trình hướng đối tượng. Sức mạnh của phương pháp lập trình hướng đối tượng thể hiện ở chỗ khả năng mô hình hoá hệ thống dựa trên các đối tượng thực tế, khả năng đóng gói và bảo vệ an toàn dữ liệu, khả năng sử dụng lại mã nguồn để tiết kiệm chi phí và tài nguyên; đặc biệt là khả năng chia sẽ mã nguồn trong cộng đồng lập trình viên chuyên nghiệp. Những điểm mạnh này hứa hẹn sẽ thúc đẩy phát triển một môi trường lập trình tiên tiến cùng với nền công nghiệp lắp ráp phần mềm với các thư viện thành phần có sẵn.  Không còn nguy cơ dữ liệu bị thay đổi tự do trong chương trình. Vì dữ liệu đã được đóng gói vào các đối tượng. Nếu muốn truy nhập vào dữ liệu phải thông qua các phương thức cho phép của đối tượng.  Khi thay đổi cấu trúc dữ liệu của một đối tượng, không cần thay đổi các đổi mã nguồn của các đối tượng khác, mà chỉ cần thay đổi một số hàm thành phần của đối tượng bị thay đổi. Điều này hạn chế sự ảnh hưởng xấu của việc thay đổi dữ liệu đến các đối tượng khác trong chương trình.

pdf21 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2503 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Các nguyên tắc sáng tạo khoa học và ứng dụng trong ngôn ngữ lập trình java, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN BÀI THU HOẠCH MÔN HỌC PHƢƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC Đề tài CÁC NGUYÊN TẮC SÁNG TẠO KHOA HỌC VÀ ỨNG DỤNG TRONG NGÔN NGỮ LẬP TRÌNH JAVA Giảng viên hướng dẫn:GS.TSKH Hoàng Kiếm Học viên thực hiện:Nguyễn Thanh Hoàng Khóa:K22 MSHV:1211023 TP.HCM,12/2012 Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 2 Mục lục LỜI NÓI ĐẦU ....................................................................................... 4 PHẦN 1:GIỚI THIỆU CÁC NGUYÊN TẮC SÁNG TẠO TRONG KHOA HỌC: 1. Nguyên tắc phân nhỏ ........................................................................................ 5 2. Nguyên tắc tách khỏi ......................................................................................... 5 3. Nguyên tắc phẩm chất cục bộ .......................................................................... 5 4. Nguyên tắc phản đối xứng ................................................................................ 5 5. Nguyên tắc kết hợp ............................................................................................ 5 6. Nguyên tắc vạn năng ......................................................................................... 5 7. Nguyên tắc “chứa trong” .................................................................................. 6 8. Nguyên tắc phản trọng lƣợng ........................................................................... 6 9. Nguyên tắc gây ứng suất sơ bộ ......................................................................... 6 10. Nguyên tắc thực hiện sơ bộ .............................................................................. 6 11. Nguyên tắc dƣ ̣phòng ........................................................................................ 6 12. Nguyên tắc đẳng thế .......................................................................................... 6 13. Nguyên tắc đảo ngƣơc̣ ....................................................................................... 7 14. Nguyên tắc cầu (tròn) hoá ................................................................................ 7 15. Nguyên tắc linh đôṇg ........................................................................................ 7 16. Nguyên tắc giải “thiếu” hoăc̣ “thƣ̀a” ............................................................... 7 17. Nguyên tắc chuyển sang chiều khác ................................................................ 7 18. Nguyên tắc sƣ̉ duṇg các dao đôṇg cơ hoc̣ ........................................................ 8 19. Nguyên tắc tác đôṇg theo chu kỳ ..................................................................... 8 20. Nguyên tắc liên tuc̣ tác đôṇg có ích ................................................................. 8 21. Nguyên tắc “vƣợt nhanh” ................................................................................. 8 22. Nguyên tắc biến hại thành lợi .......................................................................... 9 23. Nguyên tắc quan hệ phản hồi ........................................................................... 9 24. Nguyên tắc sử dụng trung gian ........................................................................ 9 25. Nguyên tắc tự phục vụ ...................................................................................... 9 26. Nguyên tắc sao chép (copy) .............................................................................. 9 Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 3 27. Nguyên tắc “rẻ” thay cho “đắt” ..................................................................... 10 28. Thay thế sơ đồ cơ học ...................................................................................... 10 29. Sử dụng các kết cấu khí và lỏng ..................................................................... 10 30. Sử dụng vỏ dẻo và màng mỏng ...................................................................... 10 31. Sử dụng các vật liệu nhiều lỗ .......................................................................... 10 32. Nguyên tắc thay đổi màu sắc .......................................................................... 10 33. Nguyên tắc đồng nhất ..................................................................................... 11 34. Nguyên tắc phân hủy hoặc tái sinh các phần ................................................ 11 35. Thay đổi các thông số hoá lý của đối tƣợng .................................................. 11 36. Sử dụng chuyển pha ........................................................................................ 11 37. Sử dụng sự nở nhiệt ........................................................................................ 11 38. Sử dụng các chất oxy hoá mạnh..................................................................... 12 39. Thay đổi độ trơ ................................................................................................ 12 40. Sử dụng các vật liệu hợp thành (composite) ................................................. 12 PHẦN 2:ỨNG DỤNG CÁC NGUYÊN TẮC SÁNG TẠO KHOA HỌC VÀO NGÔN NGỮ LẬP TRÌNH JAVA I. LỊCH SỬ PHÁT TRIỂN JAVA ................................................................. 12 II. CÁC API HỖ TRỢ TRONG JAVA ............................................................ 13 1. Chuỗi(String),StringBuffer và biểu thức chính qui ............................. 13 2. Kiểu dữ liệu ngày tháng(Date),Các hàm toán học(Math) Lớp bao kiểu nguyên thủy(Wrapers) và mảng(Array). .............................................. 14 3. Kiểu mảng động(Collection). .................................................................. 15 4. IO & Exception ........................................................................................ 17 5. Lập trình hƣớng đối tƣợng OOP(object-oriented programming) ........... 19 III. KẾT LUẬN ................................................................................................... 21 Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 4 LỜI NÓI ĐẦU ó thể nói rằng Java là một ngôn ngữ lập trình mạnh đang được sử dụng rất rộng rãi hiện nay trên toàn thế giới. Trên thực tế, Java được biết đến không chỉ là một ngôn ngữ lập trình mà còn là một platform – một môi trường và công nghệ phát triển – riêng biệt. Khi làm việc với Java, người lập trình được sở hữu một thư viện lớn, có tính mở với một lượng mã nguồn tái sử dụng khổng lồ luôn có trên internet. Ngoài ra, các chương trình viết bằng Java có môi trường thực thi riêng với các tính năng bảo mật, khả năng triển khai trên nhiều hệ điều hành khác nhau. ội dung bài tiểu luận: Ứng dụng kiến thức các nguyên tắc nguyên cứu khoa học đã học để giới thiệu,phân tích sự phát triển ngôn ngữ Java uối cùng,xin cảm ơn GS.TSKH Hoàng Kiếm đã nhiệt tình truyền đạt kiến thức cho em trong quá trình học môn phương pháp nguyên cứu khoa học. C N C Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 5 PHẦN 1:GIỚI THIỆU CÁC NGUYÊN TẮC SÁNG TẠO TRONG KHOA HỌC: 1. Nguyên tắc phân nhỏ: a) Chia đối tượng thành các phần độc lập. b) Làm đối tượng trở nên tháo lắp được. c) Tăng mức độ phân nhỏ đối tượng. 2. Nguyên tắc “tách khỏi”: a) Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đối tượng. 3. Nguyên tắc phẩm chất cục bộ: a) Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng nhất thành không đồng nhất. b) Các phần khác nhau của đối tượng phải có các chức năng khác nhau. c) Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất đối với công việc. 4. Nguyên tắc phản đối xứng: Chuyển đối tượng có hình dạng đối xứng thành không đối xứng (nói chung giảm bậc đối xứng). 5. Nguyên tắc kết hợp: a) Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động kế cận. b) Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận. 6. Nguyên tắc vạn năng: Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham gia của các đối tượng khác. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 6 7. Nguyên tắc “chứa trong”: a) Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng thứ ba ... b) Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác. 8. Nguyên tắc phản trọng lượng: a) Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng khác có lực nâng. b) Bù trừ trọng lượng của đối tượng bằng tương tác với môi trường như sử dụng các lực thủy động, khí động... 9. Nguyên tắc gây ứng suất sơ bộ: Gây ứng suất trước với đối tượng để chống lại ứng suất không cho phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứng suất trước để khi làm việc sẽ dùng ứng suất ngược lại ). 10. Nguyên tắc thực hiện sơ bộ: a) Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối tượng. b) Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất, không mất thời gian dịch chuyển. 11. Nguyên tắc dư ̣phòng: Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước các phương tiêṇ báo đôṇg, ứng cứu, an toàn. 12. Nguyên tắc đẳng thế: Thay đổi điều kiêṇ làm viêc̣ để kh ông phải nâng lên hay ha ̣xuống các đối tươṇg. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 7 13. Nguyên tắc đảo ngươc̣: a) Thay vì hành đôṇg như yêu cầu bài toán , hành động ngược lại (ví dụ , không làm nóng mà làm laṇh đối tươṇg) b) Làm phần chuyển động của đối tượng (hay môi trường bên ngoài ) thành đứng yên và ngươc̣ laị, phần đứng yên thành chuyển đôṇg . 14. Nguyên tắc cầu (tròn) hoá: a) Chuyển những phần thẳng của đối tươṇg thành cong , măṭ phẳng thành măṭ cầu, kết cấu hình hôp̣ thành kết cấu hình cầu. b) Sử duṇg các con lăn, viên bi, vòng xoắn. c) Chuyển sang chuyển động quay, sử dụng lưc̣ ly tâm. 15. Nguyên tắc linh đôṇg: a) Cần thay đổi các đăṭ trưng của đối tươṇg hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoaṇ làm viêc̣. b) Phân chia đối tươṇg thành từng phần, có khả năng dịch chuyển với nhau . 16. Nguyên tắc giải “thiếu” hoăc̣ “thừa”: Nếu như khó nhâṇ đươc̣ 100% hiêụ quả cần thiết , nên nhâṇ ít hơn hoăc̣ nhiều hơn “môṭ chút”. Lúc đó bài toán có thể trở nên đơn giản hơn và dê ̃ giải hơn. 17. Nguyên tắc chuyển sang chiều khác: a) Những khó khăn do chuyển đôṇg (hay sắp xếp ) đối tươṇg theo đường (môṭ chiều ) sẽ được khắc phục nếu cho đối tượng khả năng di chuy ển trên măṭ phẳng (hai chiều ). Tương tư ̣ , những bài toán liên quan đến chuyển đôṇg (hay sắp xếp ) các đối tượng trên mặt phẳng sẽ được đơn giản hoá khi chuyển sang không gian (ba chiều). b) Chuyển các đối tươṇg có kết cấu môṭ tầng thành nhiều tầng. c) Đặt đối tượng nằm nghiêng. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 8 d) Sử duṇg măṭ sau của diêṇ tích cho trước. e) Sử duṇg các luồng ánh sáng tới diêṇ tích bên caṇh hoăc̣ tới măṭ sau của diêṇ tích cho trước. 18. Nguyên tắc sử duṇg các dao động cơ học: a) Làm đối tượng dao động . Nếu đa ̃có dao đôṇg , tăng tầng số dao đôṇg ( đến tầng số siêu âm). b) Sử duṇg tầng số côṇg hưởng. c) Thay vì dùng các bô ̣rung cơ hoc̣ , dùng các bộ rung áp điện. d) Sử duṇg siêu âm kết hơp̣ với trường điêṇ từ. 19. Nguyên tắc tác đôṇg theo chu kỳ: a) Chuyển tác đôṇg liên tuc̣ thành tác đôṇg theo chu kỳ (xung). b) Nếu đa ̃có tác đôṇg theo chu kỳ, hãy thay đổi chu kỳ . c) Sử duṇg các khoảng thời gian giữa các xung để thực hiện tác động khác. 20. Nguyên tắc liên tuc̣ tác đôṇg có ích: a) Thưc̣ hiêṇ công viêc̣ môṭ cách liên tuc̣ (tất cả các phần của đối tươṇg cần luôn luôn làm viêc̣ ở chế đô ̣đủ tải). b) Khắc phuc̣ vâṇ hành không tải và trung gian. c) Chuyển chuyển đôṇg tiṇh tiến qua laị thành chuyển đôṇg qua . 21. Nguyên tắc “vượt nhanh”: a. Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn. b. Vượt nhanh để có được hiệu ứng cần thiết. 22. Nguyên tắc biến hại thành lợi: a. Sử dụng những tác nhân có hại (thí dụ tác động có hại của môi trường) để thu được hiệu ứng có lợi. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 9 b. Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại khác. c. Tăng cường tác nhân có hại đến mức nó không còn có hại nữa. 23. Nguyên tắc quan hệ phản hồi: a. Thiết lập quan hệ phản hồi b. Nếu đã có quan hệ phản hồi, hãy thay đổi nó. 24. Nguyên tắc sử dụng trung gian: Sử dụng đối tượng trung gian, chuyển tiếp. 25. Nguyên tắc tự phục vụ: a. đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa. b. Sử dụng phế liệu, chát thải, năng lượng dư. 26. Nguyên tắc sao chép (copy): a. Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền, không tiện lợi hoặc dễ vỡ, sử dụng bản sao. b. Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học (ảnh, hình vẽ) với các tỷ lệ cần thiết. c. Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các bản sao hồng ngoại hoặc tử ngoại. 27. Nguyên tắc “rẻ” thay cho “đắt”: Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn (thí dụ như về tuổi thọ). 28. Thay thế sơ đồ cơ học: a. Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 10 b. Sử dụng điện trường, từ trường và điện từ trường trong tương tác với đối tượng c. Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi theo thời gian, các trường đồng nhất sang có cấu trúc nhất định . d. Sử dụng các trường kết hợp với các hạt sắt từ. 29. Sử dụng các kết cấu khí và lỏng: Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản lực. 30. Sử dụng vỏ dẻo và màng mỏng: a. Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối. b. Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẻo và màng mỏng. 31. Sử dụng các vật liệu nhiều lỗ: a. Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết có nhiều lỗ (miếng đệm, tấm phủ…) b. Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó. 32. Nguyên tắc thay đổi màu sắc: a. Thay đổi màu sắc của đối tượng hay môi trường bên ngoài b. Thay đổi độ trong suốt của của đối tượng hay môi trường bên ngoài. c. Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất phụ gia màu, hùynh quang. d. Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu. e. Sử dụng các hình vẽ, ký hiệu thích hợp. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 11 33. Nguyên tắc đồng nhất: Những đối tượng, tương tác với đối tượng cho trước, phải được làm từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tạo đối tượng cho trước. 34. Nguyên tắc phân hủy hoặc tái sinh các phần: a. Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không cần thiết phải tự phân hủy (hoà tan, bay hơi..) hoặc phải biến dạng. b. Các phần mất mát của đối tượng phải được phục hồi trực tiếp trong quá trình làm việc. 35. Thay đổi các thông số hoá lý của đối tượng: a. Thay đổi trạng thái đối tượng. b. Thay đổi nồng độ hay độ đậm đặc. c. Thay đổi độ dẻo d. Thay đổi nhiệt độ, thể tích. 36. Sử dụng chuyển pha: Sử dụng các hiện tượng nảy sinh trong quá trình chuyển pha như: thay đổi thể tích, toả hay hấp thu nhiệt lượng... 37. Sử dụng sự nở nhiệt: a. Sử dụng sự nở (hay co) nhiệt của các vật liệu. b. Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt khác nhau. 38. Sử dụng các chất oxy hoá mạnh: a. Thay không khí thường bằng không khí giàu oxy. b. Thay không khí giàu oxy bằng chính oxy. c. Dùng các bức xạ ion hoá tác động lên không khí hoặc oxy. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 12 d. Thay oxy giàu ozon (hoặc oxy bị ion hoá) bằng chính ozon. 39. Thay đổi độ trơ: a. Thay môi trường thông thường bằng môi trường trung hoà. b. Đưa thêm vào đối tượng các phần , các chất , phụ gia trung hoà. c. Thực hiện quá trình trong chân không. 40. Sử dụng các vật liệu hợp thành (composite): Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành (composite). Hay nói chung sử dụng các vật liệu mới. PHẦN 2:ỨNG DỤNG CÁC NGUYÊN TẮC SÁNG TẠO KHOA HỌC VÀO NGÔN NGỮ LẬP TRÌNH JAVA. I. LỊCH SỬ PHÁT TRIỂN JAVA  Java là một ngôn ngữ lập trình do công ty Sun Microsystems phát triển vào đầu thập kỷ 1990. Java được khởi đầu bởi James Gosling và bạn đồng nghiệp là Patrick Naughton, Christ Warth, Ed, và Mike Sheridan vào năm 1991 tại Sun Microsystems, Inc. Ngôn ngữ này đầu tiên được gọi là "Oak" (có nghĩa là cây sồi; do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này) nhưng sau đổi tên thành Java vào năm 1995. Trong khoảng thời gian từ 1992 đến bản Java phát hành miễn phí đầu tiên năm 1995, rất nhiều người đã đóng góp ý kiến và phát triển ngôn ngữ này. Hiện này thì công ty Sun Microsystems đang giữ bản quyền và phát triển Java thường xuyên.  Khi thực hiện một dự án nghiên cứu của Sun các nhà khoa học phát hiện rằng ngôn ngữ C++ không phù hợp và không đủ khả năng để đáp ứng nhu cầu của mình.Điểm nổi bật của ngôn ngữ Java so với các ngôn ngữ khác là "Write Once,Run AnyWhere" . Một chương trình viết bằng ngôn ngữ lập trình Java sẽ được biên dịch ra mã của máy ảo java (mã java bytecode)  Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (do Oracle quản lý). Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java. Về sau Java được được hỗ trợ trên hầu hết các trình duyệt như Internet Explorer(Microsoft), Firefox(Mozilla), Safari(Apple)… Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 13  Java được sử dụng chủ yếu trên môi trường mạng, internet. Sau khi Oracle mua lại công ty của Sun Microsystem năm 2009-2010, Oracle đã mô tả họ là "người quản lý công nghệ Java với cam kết không ngừng để bồi dưỡng một cộng đồng tham gia và minh bạch. II. CÁC API HỖ TRỢ TRONG JAVA 1. Chuỗi(String),StringBuffer và biểu thức chính qui(Regular Expression)  Là dãy ký tự được đặt giữa dấu nháy kép.  Là kiểu được sử dụng nhiều nhất trong lập trình  Các vấn đề chính trong xử lý chuỗi  Tạo chuỗi  Ký tự đặc biệt  Phương thức xử lý chuỗi  Chuyển kiểu  Ứng dụng nguyên tắc nguyên cứu khoa học trong xử lý chuỗi:  Nguyên tắc linh động: o Dùng trong việc so sánh,kiểm tra chuỗi. o Tìm vị trí chuỗi con,nối chuỗi,cắt chuỗi. o Dùng biểu thức chính qui để kiểm tra,so khớp chuỗi trong việc kiểm tra việc nhập email,số điện thoại,địa chỉ trang web… Ví dụ:  Dạng thức email đơn giản: String regex = “\\w+@\\w+\\.\\w+”;  Số CMND String regex = “\\d{10}”;  Số điện thoại di động: String regex = “0\\d{10,11}”;  Số xe máy sài gòn String regex = “5\\d-[A-Z]\\d-\\d{3}.{2}” ;  Địa chỉ trang web: String regex = “” ; Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 14  Nguyên tắc vạn năng: Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham gia của các đối tượng khác. o Trong việc kiểm tra biểu thức chính qui(Regular Expression) không cần phải viết mã javascript như để kiểm tra chuỗi nhập.  Nguyên tắc tách khỏi.Dùng để tách chuỗi từ 1 chuỗi. Ví dụ:hàm String substring(int beginIndex,int endIndex).Dùng lấy ra 1 chuỗi từ chuỗi hiện hành. 2. Kiểu dữ liệu ngày tháng(Date),Các hàm toán học(Math)và mảng(Array).  Date lấy và xử lý thông tin thời gian (năm, tháng, ngày, giờ, phút, giây…).Hàm SimpleDateFormat giúp chuyển đổi giữa Date và String Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 15  Các hàm toán học được cấp bởi lớp Math. Tất cả các phương thức của Math được định nghĩa static.Hàm hiện ích giúp cho việc xử lý lũy thừa,căn bậc 2,làm tròn,lượng giác…  Array là mảng tĩnh. Việc truy xuất đến các phần tử của mảng dựa vào chỉ số mảng…  Ứng dụng nguyên tắc nguyên cứu khoa học trong xử lý Date,Math,Array  Nguyên tắc linh động: Phân chia đối tươṇg thành từng phần, có khả năng thực hiện trong nhiều trường hợp khác nhau: Ví dụ: d.setDate(35); // thay đổi ngày d.setMonth(17); // thay đổi tháng int year = d.getYear() + 1900; // lấy năm int day = d.getDay(); // lấy thứ long time = d.getTime(); // lấy thời gian từ 1/1/1970 if(d.after(d2)){ System.out.printf(“%s sau %s”, d, d2); }  Nguyên tắc chứa trong:Lớp Math chứa hàm double sqrt(double d) để tính căn bậc 2 của d.  Nguyên tắc hợp thành: Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành Ví dụ:Mảng chứa 10 phần tử kiểu integer hợp thành mảng các số nguyên có số phần tử là 10,có chiều dài và chỉ số phần tử. 3. Kiểu mảng động(Collection)  Tập hợp (Collection) là cấu trúc dữ liệu được sử dụng để nắm giữ các phần tử,có thể xem Collection như là một mảng động.  Có thể thêm, xóa, cập nhật các phần tử. Các phép toán tập hợp như hợp, giao, trừ…cũng được hỗ trợ.  Tập hợp được chia làm 2 loại:List(ArrayList,Vector,Stack,Queue…) và Set(HashSet,TreeSet…) Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 16  Ứng dụng nguyên tắc nguyên cứu khoa học trong xử lý tập hợp(Collection).  Nguyên tắc chứa trong: Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng thứ ba. Ví dụ:Trong Collection gồm 2 loại List và Set.Tuy nhiên  Trong List còn chứa ArrayList,Vector,Stack,Queue…  Trong Set Còn chứa HashSet,TreeSet…  Nguyên tắc đồng nhất: Những đối tượng, tương tác với đối tượng cho trước, phải được làm từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tạo đối tượng cho trước. Ví dụ:Khi khai báo 1 tập hợp  Khi khai báo 1 đối tượng a là 1 List bằng cách gọi hàm dựng của Vector như sau:List a = new Vector().khai báo trên là hợp lệ vì thuộc cùng kiểu List.  Khi khai báo 1 đối tượng a là 1 List bằng cách gọi hàm dựng của Vector như sau: List a = new HashSet();.khai báo trên là hợp lệ vì kiểu List thuộc List và HasSet thuộc Set.  Nguyên tắc chuyển sang chiều khác: Những khó khăn do chuyển đôṇg (hay sắp xếp) đối tươṇg theo đường (môṭ chiều) sẽ được khắc phục nếu cho đối tươṇg khả năng di chuyển trên măṭ phẳng (hai chiều). Tương tư,̣ những bài toán liên quan đến chuyển đôṇg (hay sắp xếp) các đối tượng Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 17 trên măṭ phẳng se ̃đươc̣ đơn giản hoá khi chuyển sang không gian (ba chiều) Ví dụ:Set là tập hợp không cho phép trùng lặp phần tử(mỗi phần tử chỉ xuất hiện duy nhất một lần).Do vậy muốn sử dụng tập hợp có các phần tử xuất hiện nhiều lần ta sử dụng List. 4. IO & Exception.  IO:Dùng với nhiều mục đích khác nhau  Đọc/ghi file nhị phân.  Đọc/ghi mảng nhị phân.  Download tài nguyên trên mạng.  Quản lý hệ thống file và thư mục.  IO :phân cấp thành 2 luồng vào(input) và luồng ra(output)  Phân cấp luồng vào như sau :  Phân cấp luồng ra như sau : Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 18  Ứng dụng nguyên tắc nguyên cứu khoa học trong xử lý IO.  Nguyên lý chứa trong: Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối tượng thứ ba. Ví dụ:DataOutputStream kế thừa từ FilterOutputStream,mà FilterOutputStream lại được kế thừa từ OutputStream  Nguyên tắc linh động: thay đổi các đặt trưng của đối tượng hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoaṇ làm viêc̣ . Ví dụ:  Khi cần đọc/ghi định kiểu,sử dụng:DataInputStream (InputStream) và DataOutputStream(OutputStream).  Khi cần đọc/ghi đối tượng,sử dụng:ObjectInputStream (InputStream) và ObjectOutputStream(OutputStream).  Khi cần đọc/ghi có đệm,sử dụng:BufferedInputStream (InputStream) và BufferedOutputStream(OutputStream)  Nguyên tắc tự phục vụ: đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa.Sử dụng phế liệu, chát thải, năng lượng dư. Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 19 Ví dụ:Trong chương trình Java, lập trình viên không còn phải quan tâm quá nhiều đến việc giải phóng bộ nhớ, chương trình Garbage Collector của Java sẽ thực hiện việc này một cách tự động. Cứ sau một khoảng thời gian nhất định, Garbage Collector sẽ xem xét những vùng nhớ không còn dùng đến để giải phóng. 5. Lập trình hướng đối tượng OOP(object-oriented programming).  Trong những năm gần đây, lập trình hướng đối tượng đã trở nên gần gũi nhờ sự ra đời liên tiếp của các ngôn ngữ lập trình hướng đối tượng. Sức mạnh của phương pháp lập trình hướng đối tượng thể hiện ở chỗ khả năng mô hình hoá hệ thống dựa trên các đối tượng thực tế, khả năng đóng gói và bảo vệ an toàn dữ liệu, khả năng sử dụng lại mã nguồn để tiết kiệm chi phí và tài nguyên; đặc biệt là khả năng chia sẽ mã nguồn trong cộng đồng lập trình viên chuyên nghiệp. Những điểm mạnh này hứa hẹn sẽ thúc đẩy phát triển một môi trường lập trình tiên tiến cùng với nền công nghiệp lắp ráp phần mềm với các thư viện thành phần có sẵn.  Không còn nguy cơ dữ liệu bị thay đổi tự do trong chương trình. Vì dữ liệu đã được đóng gói vào các đối tượng. Nếu muốn truy nhập vào dữ liệu phải thông qua các phương thức cho phép của đối tượng.  Khi thay đổi cấu trúc dữ liệu của một đối tượng, không cần thay đổi các đổi mã nguồn của các đối tượng khác, mà chỉ cần thay đổi một số hàm thành phần của đối tượng bị thay đổi. Điều này hạn chế sự ảnh hưởng xấu của việc thay đổi dữ liệu đến các đối tượng khác trong chương trình.  Có thể sử dụng lại mã nguồn, tiết kiệm tài nguyên. Vì nguyên tắc kế thừa cho phép các lớp kế thừa sử dụng các phương thức được kế thừa từ lớp khác như những phương thức của chính nó, mà không cần thiết phải định nghĩa lại.  Phù hợp với các dự án phần mềm lớn, phức tạp.  Các thành phần đặc trưng cơ bản lập trình hướng đối tượng.  Lớp(Class): được sử dụng để mô tả các thực thể.  Đối tượng(Object): là một sự thể hiện của thực thể.Dùng toán tử new kết hợp với phương thức khởi dựng để tạo đối tượng. Ví dụ:NhanVien nv=new NhanVien(“Hoang”,27).  Sử dụng các bổ đề truy xuất(private,public,protected) .  Sử dụng các đặc trưng kế thừa,viết đè,trừu tượng,giao tiếp thông qua các từ khóa:inheritance,overriding,abstract class,interface.  Ngoài ra còn có các từ khóa final(dùng để định nghĩa hằng),static(dùng để định nghĩa biến và phương thức tĩnh)… Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 20  Ứng dụng nguyên tắc nguyên cứu khoa học trong OOP.  Nguyên tắc linh động: thay đổi các đăṭ trưng của đối tươṇg hay môi trường bên ngoài sao cho chúng tối ưu trong từng giai đoạn làm việc Ví dụ: Không còn nguy cơ dữ liệu bị thay đổi tự do trong chương trình.Thông qua các từ khóa private,protected,public người viết mã có thể cho người khác kế thừa hay sử dụng biến hay hàm mình khai báo hay không.  Nguyên tắc sao chép: o Thay vì sử dụng những cái không được pháp,phức tạp,đắc tiền,không tiện lợi hoặc dễ vỡ,sử dụng bản sao o Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học (ảnh, hình vẽ) với các tỷ lệ cần thiết. o Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các bản sao hồng ngoại hoặc tử ngoại. Ví dụ:Trong lập trình truyền thống không có khái niệm trùng hàm hay viết đè.Nhưng trong lập trình hướng đối tượng thì có khái niệm viết đè. Overriding là kỹ thuật cho phép chúng ta viết lại phương thức đã viết trong lớp cha để thay đổi nội dung xử lý của phương thức phù hợp với thực tại của chương trình.  Nguyên tắc đồng nhất: Những đối tượng, tương tác với đối tượng cho trước, phải được làm từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật liệu chế tạo đối tượng cho trước Ví dụ: Phương thức đè (của lớp con) và phương thức bị đè (của lớp cha) phải cùng cú pháp ở phần , và.  Nguyên tắc thực hiện sơ bộ: Ứng dụng các nguyên tắc nguyên cứu khoa học trong Java Nguyễn Thanh Hoàng-1211023 Page 21 o Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối với đối tượng. o Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi nhất, không mất thời gian dịch chuyển. Ví dụ:  Interface được xem như mẫu thiết kế mà lớp thi hành theo nó phải tuân thủ.  Có 2 mục đích chính - Thiết kế chức năng (phương thức) để các lớp theo đó mà cài đặt mã nguồn. Ví dụ như Collection, List, Set, Runnable… - Đánh dấu để phân loại lớp. Ví dụ như Serializable, Remote III. KẾT LUẬN.  Java là ngôn ngữ có tính khả chuyển cao có thể chạy trên mọi môi trường (Window,Linux…) nhờ máy ảo trung gian.  Hiện tại Java là mã nguồn mở(các tool là miễn phí),người dùng không tốn phí để trả cho việc sử dụng chúng.  Các API hỗ trợ khá nhiều giúp cho người lập trình giảm chi phí,giảm thời gian,đỡ viết code nhiều hơn.  Java dùng để viết Web 1 cách dễ dàng thông qua mô hình MVC(Model- Control-View) sử dụng struts 2x framwork .  Java ngày càng khẳng định chỗ đứng vững vảng so với 1 số ngôn ngữ lập trình.Bằng chứng là java có hỗ trợ các thẻ thông dụng(thẻ lựa chọn , thẻ lặp ,thẻ form…)giúp công việc của người lập trình giảm thiểu rõ rệt.  Hướng phát triển tới của Java có thể là mobile.

Các file đính kèm theo tài liệu này:

  • pdf1211023_nguyen_thanh_hoang__5388.pdf