Danh mục

Kinh nghiệm áp dụng Object Oriented trong lập trình Java

Số trang: 12      Loại file: pdf      Dung lượng: 264.33 KB      Lượt xem: 11      Lượt tải: 0    
Jamona

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tác giả muốn phổ biến kinh nghiệm bản thân trong việc áp dụng Object Oriented (OO) với lập trình sử dụng Java. Vấn đề được đặt ra là:“làm thế nào dựa trên phân tích những yêu cầu của một ứng dụng, để tạo ra các lớp (class) hay object cần thiết ?” Hai danh từ class và object sẽ được dùng để chỉ chung một khái niệm trong bài viết này. “Sử dụng những nguyên tắc của OO trong việc phân tích, sẽ giúp cho bạn tìm ra những class hoặc object cần thiết một cách có hệ thống. Giúp...
Nội dung trích xuất từ tài liệu:
Kinh nghiệm áp dụng Object Oriented trong lập trình Java Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Kinh nghiệm áp dụng Object Oriented trong lập trình JavaTác giả muốn phổ biến kinh nghiệm bản thân trong việc áp dụng Object Oriented (OO) với lập trình sử dụng Java.Vấn đề được đặt ra là: “làm thế nào dựa trên phân tích những yêu cầu của một ứng dụng, để tạo ra các lớp (class) hay object cầnthiết ?” Hai danh từ class và object sẽ được dùng để chỉ chung một khái niệm trong bài viết này.“Sử dụng những nguyên tắc của OO trong việc phân tích, sẽ giúp cho bạn tìm ra những class hoặc object cần thiết một cách có hệthống. Giúp bạn làm quen và hiểu OO là mục đích chính của bài viết này.”“ Đầu tiên nên tìm hiểu OO được hình thành trong hoàn cảnh nào của việc lập trình“Trở về thời gian trước khi OO được hình thành, những ngôn ngữ như C, Pascal... dựa trên function hoặc procedure. Toàn bộ ứng dụnglà một chuỗi các function và procedure, cái này gọi cái kia cho đến khi program chấm dứt.Ví dụ :Yêu cầu của một ứng dụng là tìm kiếm dữ kiện của thí sinh đưa vào số báo danh, thì cách phân tích có thể sẽ là: 1. Tạo ra một function để nhập số báo danh. 2. Tạo ra một function để truy tìm dữ kiện dựa trên dữ kiện nhập. 3. Tao ra một function để display kết quả tìm được.Cách suy nghĩ hay phân tích như vậy gọi là procedural, gồm nhiều sự kiện xảy ra nối tiếp nhau. Cái ưu điểm của cách phân tích nàylà intuitive (trực quan). Nó dễ hiểu và gần gũi với suy luận tự nhiên của con người. Chỉ cần khéo léo chia vấn đề thành nhữngoperation nhỏ hơn để giải quyết. Mọi chuyện có vẻ như có thể giải quyết khá dễ dàng với cách phân tích này.Lấy một ví dụ khác phức tạp hơn. “Bạn được yêu cầu viết ứng dụng simulate hoat động của một chiếc xe đạp. Làm thế nào để chianhỏ thành các function hay procedure đây ?” Tất nhiên là được nhưng sẽ khó hơn. Vấn đề sẽ trở nên khó hơn nếu nói đến các hệ thốngphức tạp như xe gắn máy, máy bay…..v.vNếu bạn nhìn hoạt động của chiếc xe đạp theo khía cạnh cơ khí máy móc thì nó hòan toàn đơn giản và dễ hiểu. Nó gồm có pedal gắnliền với đĩa, rồi dây xích, rồi líp, rồi bánh xe. Nó như một cỗ máy cơ khí được tạo thành bởi nhiều bộ phận cơ khí nhỏ và đơn giản.Nếu bạn có hể lập trình giống như vậy, bằng cách lắp ráp nhiều bộ phận nhỏ đơn giản lại với nhau, bài toán sẽ trở nên đơn giản hơn,và OO bắt đầu từ suy nghĩ như vậy.  Đọc tới đây bạn sẽ đặt câu hỏi: “chẳng phải phương pháp procedural ở trên cùng là chia bài toán thành những function nhỏ hơn hay sao ? Như vậy OO có gì khác biệt hơn ?”Tất nhiên là có. Function hay procedure là một khái niệm trừu tượng dùng để mô tả hoạt động của một vật cụ thể trong thực tế, trongkhi OO cho phép tạo ra những object dựa trên hay bắt chước theo những vật cụ thể. Do đó những object trong OO được “cụ thể hoáhơn” và “dễ hiểu hơn”.Bạn có vẻ chưa tin vào khái niệm OO ! Không sao hết, hãy nhìn vào hoạt động của chiếc xe đạp kỹ lưỡng hơn. Đĩa quay kéo dây xích,dây xích lại kéo lip. Khái niệm OO sẽ đưa đến 3 object như sau: đĩa, dây xích, lip.Nhưng làm thế nào bắt chước được hoạt động của chúng ?Sự tiếp xúc hoặc truyền động trong thực tế, được mô phỏng trong phần mềm bằng cách: object này gọi các method của object khác.Nhìn vào ví dụ dưới đâyclass DayXich {// method mô tả sự kéo của dây xíchpublic void keo(){ }}class Dia {// method mô tả sự quay của đĩapublic void xoay(DayXich dx) { // đĩa truyền động cho dây xích bằng cách // gọi method keo()dx.keo(); }} Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only.Method xoay() của Đĩa gọi method keo() của DayXich. Bản thân method xoay() sẽ bị gọi bởi method nào đó, và cứ như vậy tạo thànhhoạt động của cả cổ máy.Trong OO, khi object A gọi method của object B, thì được gọi một cách văn vẻ là “A send a message to B”, trong thực tế nó chỉ đơngiản là mô phỏng cách thức các bộ phận tiếp xúc hay truyền động để làm việc với nhau. Như vậy khái niệm OO đưa phần mềm phảnánh gần gủi và trung thực hơn hoạt động trong thực tế. Người lập trình cũng giống như một kỹ sư cơ khí, thiết kế, chế tạo và lắp ráptừng bộ phận cho một cỗ máy lớn.Cách suy nghĩ theo OO đòi hỏi người lập trình phải nhìn cả ứng dụng giống như một cỗ máy đang vận hành, tìm hiểu sự hoạt độngcủa từng bộ phận, và làm cho chúng cùng làm việc với nhau. Điều này rất quan trọng cần phải nhấn mạnh một lần nữa: Trước khi cóthể tìm ra các class hay object cần thiết cho một ứng dụng, bạn hãy cố gắng hình dung toàn bộ ứng dụng hoạt động giốn ...

Tài liệu được xem nhiều: