My Opera is closing 3rd of March

Cùng học JAVA

Một cây làm chẳng lên non, ba cây chụm lại lên hòn núi cao

Session 1: Object-Oriented Programming Concepts

Nếu bạn chưa bao giờ sử dụng một ngôn ngữ lập trình hướng đối tượng trước đó. Bạn sẽ cần học một số khái niệm cơ bản trước khi bạn bắt đầu viết một vài đoạn code. Bài học này giới thiệu với bạn về Object (đối tượng), classses (lớp), inheritance (kế thừa), interfaces (giao diện) và packages (đóng gói). Mỗi cuộc thảo luận chú trọng vào việc làm thế nào để những khái niệm này liên hệ với thế giới thực, trong khi đồng thời cung cấp, giới thiệu cú pháp của ngôn ngữ JAVA.

1.1. Object là gì?
Object là chìa khóa để hiểu công nghệ hướng đối tượng. Nào bây giờ, bạn hãy nhìn xung quanh, bạn sẽ tìm thấy rất nhiều ví dụ về Object trong thế giới thực: Con chó, chiếc bàn, chiếc Tivi, chiếc xe đạp.
Tất cả các Object trong thế giới thực đều có StateBehavior. Những con chó thì có State(trạng thái) (tên, màu sắc, giống loài) và Behavior(hành động, hoạt động) (sủa, vẫy đuôi, ăn, uống); Những chiếc xe đạp có State (động cơ, bàn đạp, tốc độ hiện thời) và Behavior (đạp, tăng tốc, giảm tốc, dừng xe). Phân tích StateBehavior của các Object trong thế giới thực là cách tốt để bắt đầu suy nghĩ theo cách của lập trình hướng đối tượng.
Bây giờ bạn hãy dành một chút thời gian để quan sát các Object thực ngay xung quanh bạn. Với mỗi Object mà bạn nhìn thấy, hãy tự hỏi mình 2 câu hỏi: "Object này có những State nào?""Object này có thể biểu hiện những Behavior nào?" hãy chắc chắn rằng bạn sẽ ghi chép lại những quan sát đã thấy. Khi làm như vậy bạn sẽ nhận thấy rằng các Object trong thế giới thực rất đa dạng và phức tạp; Cái đèn bàn chẳng hạn, có thể chỉ có 2 State là On và Off và 2 Behavior là Turn on, Turn off nhưng cái Radio để bàn thì lại có thể có thêm những State khác nhau như On, Off, âm lượng hiện tại, đài phát thanh hiện tại và các Behavior như Turn on, Turn off, tăng âm lượng, giảm âm lượng, dò sóng, diều chỉnh tần số. Bạn cũng có thể nhận thấy rằng có một vài Object lần lượt chứa các Object khác nữa. Tất cả những quan sát về thế giới thực đó đều được chuyển sang thế giới của lập trình hướng đối tượng.

Các Object Software tương tự với các Object của thế giới thực về mặt lý thuyết. Chúng cũng bao gồm các State và các Behavior liên quan. Một Object lưu trữ State trong các Field (biến trong một số ngôn ngữ lập trình) và bộ lộ các Behavior của nó thống qua các Method (Function trong một số ngôn ngữ lập trình). Các Method điều khiển các State nội bộ của Object và được coi như là cơ chế chính trong việc truyền thông, liên lạc giữa các Object. Việc giấu các State nội bộ và yêu cầu tất cả các giao tiếp phải thực hiện thông qua các Method của Object được bến đến như là việc đóng gói dữ liệu (data encapsulation ) - 1 quy tắc cơ bản của lập trình hướng đối tượng.

Lấy chiếc xe đạp làm ví dụ:


A bicycle modeled as a software object

Băng các State đặc trưng (tốc độ hiện hành của xe, nhịp lên xuống của bàn đạp,vòng quay bánh răng hiện tại) và cung cấp các Method để thay đổi State, Object làm chủ được việc cho phép thế giới bên ngoài tác động vào nó như thế nào. Ví dụ: nếu Xe đạp chỉ có vòng quay bánh răng là 6, 1 Method để thay đổi các vòng quay bánh răng có thể từ chối các giá trị nhỏ hơn 1 và lớn hơn 6.

Việc đóng gói Code thành các Software Object đơn lẻ sẽ mang lại một số lợi ích bao gồm:

  1. Modularity : Source Code của mỗi Object có thể được viết và bảo trì một cách độc lập đối với các Object khác. Một khi được tạo ra mỗi Object có thể được dùng dễ dàng trong toàn bộ hệ thống.

  2. Information - Hidding (Che giấu thông tin): Vì chỉ tương tác với các Method của Object nên chi tết vệ sự thực thi nội bộ của nó được giữ kín khỏi thế giới bên ngoài.

  3. Code re - use (tái sử dụng Code): Nếu một Project đã tồn tại (có thể được viết bởi lập trình viên khác), bạn có thể sử dụng Object này trong chương trình của bạn. Điều này cho phép các chuyên gia thực thi, Test, Debug những Object phức tạp có nhiệm vụ đặc trưng.( This allows specialists to implement/test/debug complex, task-specific objects, which you can then trust to run in your own code.)

  4. Dễ dàng Plug và Debug: Nếu một Object nhất định nào đó gặp vấn đề bạn có thể Remove một cách đơn giản khỏi chương trình của mình và Plug một Object khác để thay thế. Điều này cũng tương tự như việc fix một cái máy có vấn đề trong thế giới thực. Nếu cái bulong bị vỡ, bạn chỉ thay thế nó chứ không phải thay toàn bộ cái máy.

Tài liệu này được dịch từ trang: http://java.sun.com/docs/books/tutorial/java/index.html ----------------------------------------------------
Ở bản dịch trên mapu không dịch một số từ dùng trong lập trình như Object, Behavior, Field, Method vì khi dịch ra nó mất đi nghĩa chính xác. Ngoài ra bản dịch trên cũng chưa được chuẩn xác, mình dịch theo cách suy nghĩ của mình. Chỗ nào khó quá mình để nguyên văn bản gốc. Mong các bạn góp ý để mapu sẽ cố gắng làm tốt hơn ở các bài sau.
Còn đây là bản tiếng ANH gốc: http://files.myopera.com/sir_mapu/LearnJAVA/Lesson%20I_1.1.doc

Write a comment

New comments have been disabled for this post.

March 2014
M T W T F S S
February 2014April 2014
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31