Chương trình Tô mỳ Minh duy

Giải quyết hiệu quả vấn đề trong những mối quan hệ

Lập trình hướng vật thể (OOP) hay đối tượng (EOP)?

Bạn có tư duy Object-oriented Programming hay là bạn có tư duy Entity-oriented Programming? Lập trình hướng vật thể, gọi tắt là OOP, từ cụm từ object-oriented programming bên tiếng Anh, có nghĩa là lập trình dựa trên tư duy có khuynh hướng nằm trên khái niệm vật thể.

Những người nào đã dịch OOP ra là Lập trình hướng đối tượng hoặc Lập trình định hướng đối tượng cũng như những người nào đã dùng khái niệm đối tượng trong việc truyền đạt phương pháp lập trình OOP đã làm cho đề tài này trở nên khó hiểu hơn nhiều cho vố số người ở Việt Nam. Đối tượng (entity) là một món vô tiết diện không có hình thù như vật thể (object), xem Làm sao biết vật thể có tiết diện?

Nếu muốn lập trình theo hướng vật thể thì phải chia hệ thống mình ra thành từng vật thể một nhưng phải có hình thù chứ không phải là những dung lượng vô tiết diện. Tiết diện là hình hai chiều đi dọc theo chu vi một vật thể nhất là khi nó đứng giữa đôi mắt người nhìn và một nguồn ánh sáng rực rỡ.

Nếu muốn lập trình hướng vật thể thì phải dùng những vật thể có tiết diện đặt tên cho từng bộ phận một trong hệ thống phần mềm. Phần mềm điều khiển một chiếc xe sẽ có một bộ phận phần mềm gọi là tay lái và một bộ phận phần mềm gọi là thùng xăng. Tiết diện một tay lái là hình tròn và tiết diện thùng xăng là hình chữ nhật.

Khi nhắm mắt lại đọc tên một bộ phận phần mềm mà lại không hình dung được ngay tiết diện của nó thì đó không phải là tư duy lập trình theo hướng vật thể mà chỉ là tư duy lập trình theo hướng đối tượng.

Ví dụ, một bộ phận phần mềm điều khiển hệ thống thắng xe hơi có thể gọi là một bộ thắng hoặc một bánh xe. Bộ thắng là một đối tượng vô tiết diện. Bánh xe là một vật thể có tiết diện: hình tròn. Phanh xe lại, dừng xe lại là một hành động của bánh xe. Người có tư duy hướng đối tượng sẽ nhầm lẫn giữa bộ phận làm chậm xe lại với hành động không cho bánh xe lăn tiếp. Người có tư duy hướng vật thể sẽ không nhầm lẫn vì vật thể là chủ nhân của hành động và cũng là một bộ phận cụ thể nhưng hành động không bao giờ là một bộ phận.

Làm sao biết vật thể có tiết diện?

Advertisements

12 comments on “Lập trình hướng vật thể (OOP) hay đối tượng (EOP)?

  1. Pingback: Nghiệp vụ Xây dựng Thùng xám « Tô Mỳ Minh Duy (CTTMMD)

  2. Pingback: CLBVietnamQA 2011 Kế hoạch Hoạt động Tháng 8 « Tô Mỳ Minh Duy (CTTMMD)

  3. jason87nguyen
    25-07-2011

    Lập trình hướng đối tượng (gọi tắt là OOP, từ chữ Anh ngữ object-oriented programming), hay còn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình hỗ trợ công nghệ đối tượng. 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.

  4. Song Nguyên
    25-07-2011

    Đối tượng (entity) là một nó vô tiết diện không có hình thù như vật thể (object)??????????
    không có ý nghĩa!

    • tonyminhduy
      25-07-2011

      Đối tượng (entity) là một món vô tiết diện không có hình thù như vật thể (object).

  5. Song Nguyên
    26-07-2011

    Theo thông tin trên google và tất cả các trang web về lập trình đều sử Object-oriented Programming( lập trình hướng đối tượng) hoàn toàn không dùng Entity-oriented Programming, không biết tác giả ở đây là người mới vào nghiên cứu lập trình hay là không rành tiếng Anh mà lại đổi từ Object-oriented Programming sang Entity-oriented Programming???

    • tonyminhduy
      08-08-2011

      Object là vật thể có thể tích; đối tượng là một món không có thể tích. Lục trên Google thì sẽ thấy object + “vật thể” xuất hiện trên 78 ngàn lần nhưng entity + “vật thể” chỉ xuất hiện dưới 9 ngàn lần. Điều này cho thấy CNTT ở Việt Nam đã dịch sai bét cụm từ object-oriented programming cho nên người ở Việt Nam tưởng rằng đối tượng là object. Vì có quá nhiều người đi trật đường nên bây giờ entity + “đối tượng” xuất hiện ít hơn so với object + “đối tượng”. Thế nên cần phải biết cách phân biệt giữa hai khái niệm này: một bên thì có tiết diện nhưng bên kia không có tiết diện. Xem: https://cttmmd.wordpress.com/2011/08/08/lam-sao-bi%E1%BA%BFt-v%E1%BA%ADt-th%E1%BB%83-co-ti%E1%BA%BFt-di%E1%BB%87n/

      • Người Qua Đường
        10-04-2012

        khi search google thấy cat + “con mèo” cho 2 triệu 2 kết quả trong khi cat + “con chó” cho 3 triệu kết quả -> có thể kết luận các dịch giả Việt Nam đã dịch sai từ cat chăng.

  6. Pingback: SDEdit 4.0 – Công cụ Biên soạn Biểu đồ Tuần tự « Tô Mỳ Minh Duy (CTTMMD)

  7. Pingback: Thực hành Biểu đồ Tuần tự « Tô Mỳ Minh Duy (CTTMMD)

  8. Pingback: Làm sao biết vật thể có tiết diện? « Tô Mỳ Minh Duy (CTTMMD)

  9. hahuuhai
    20-04-2013

    Tôi không dám bàn về Object – Entity là gì trong Vật thể – Đối tượng.
    Việc bạn search Google [Lục trên Google thì sẽ thấy object + “vật thể” xuất hiện trên 78 ngàn lần nhưng entity + “vật thể” chỉ xuất hiện dưới 9 ngàn lần] CÓ LẼ là do phép OR trong quá trình tìm kiếm.
    Ý tôi là object + “đối tượng” được dùng thường xuyên hơn và hay đi chung với nhau hơn nên việc cho ra ít kết quả là dễ hiểu. Tương tự như vậy đối với cat-chó và cat-mèo.

    Tôi đang tìm hiểu về Tư duy Lập trình HĐT mà vào trang này thấy hơi thất vọng. Tôi không dám đọc vì sợ sẽ lẫn lộn các khái niệm rồi cũng chẳng hiểu gì. Và tôi nghĩ bạn đừng cố thay đổi khái niệm (tức là thay đổi lịch sử) làm gì cho vô ích và mất công.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Information

This entry was posted on 23-07-2011 by in Minh Duy.
%d bloggers like this: