Trang

Thứ Ba, 29 tháng 1, 2013

Bốn khái niệm cơ bản của lập trình hướng đối tượng

OOP bao gồm bốn khái niệm chính là trừu tượng, đóng gói, đa hình và kế thừa. Tôi sẽ thảo 
luận chúng trong phần sau đây:
  • Trừu tượng là gì?
     Trong thiết kế mẫu (Design Pattern ) bạn sẽ thường xuyên sử dụng khái niệm trừu tượng vào thiết kế của mình, trừu tượng chính là phần hồn của thiết kế mà bạn mong muốn.
     Trừu tượng chính là ý tưởng thiết kế của bạn để phân chia, kết hợp và sử dụng một cách phù hợp các phương pháp vào giải quyết vấn đề. Nó không phải là một kỹ thuật lập trình. Thực chất nó chính là sự nhận thức về một vấn đề nào trước khi áp dụng nó vào giải quyết vấn đề. Cho nên việc hệ thống của bạn có mềm dẻo không chính là ở sự nhận thức này.
     Một chuyên gia về thiết kế sẽ phải mất rất nhiều thời gian cho công tác này.
     Trong mỹ thuật trừu tượng là phát thảo bản vẽ
     Trong kiến trúc xây dựng thì trừu tượng là phát thảo bản vẽ công trình, lập ra các hồ sơ kỹ thuật, công nghệp áp dụng cho công trình.
     Trong kinh tế học trừu tượng là vĩ mô, là hoạch định chiến lược kinh doanh
     Trong công nghệ thông tin trừu tượng là xây dựng lớp giao diện tương tác.
  • Đóng gói là gì?
     Khi đưa tất cả dữ liệu và chức năng vào một đối tượng thì nghĩa là bạn đang đóng gói chúng. Bạn đã gỡ bỏ tất cả những sự phức tạp của đối tượng khi đóng gói tất cả dữ liệu vào trong đối tượng đó. Đây cũng là sức mạnh thực sự của việc lập trình hướng đối tượng.
     Khi bạn đóng gói chức năng vào trong một đối tượng, bạn đã quyết định cách thức mà đối tượng giao tiếp với thế giới bên ngoài. Bạn sẽ phải chỉ định đâu là chức năng, thuộc tính của đối tượng và đâu là của đối tượng sẽ giao tiếp với thế giới bên ngoài
     Một ý tưởng của việc đóng gói là bạn che giấu những thứ phức tạp bên trong đối tượng và tạo ra một giao diện đơn giản để đối tượng làm việc với các phần còn lại của hệ thống.
     Mẫu thiết kế cũng là một trường hợp đặc biệt của đóng gói, bạn phải đóng gói những gì bạn cho là dễ thay đổi nhất, một số mẫu thiết kế xoay quanh vấn đề là trích lọc những những phần thay đổi và cần bảo trì nhiều nhất thành một gói riêng để dễ xử lý hơn.
     Một ví dụ đơn giản cho việc đóng gói đó là một chiếc điện thoại, chiếc điện thoại bao gồm rất nhiều phần chia làm 4 phần chính đó là phần xử lý, phần thu phát sóng và phần cung cấp năng lượng và phần thể hiện bên ngoài, mõi phần đều bao gòm rất nhiều mạch vi xử lý, tụ điện.... nhưng người dùng không cần biết những phần đó hoạt động như thế nào mà chỉ cần ấn phím và hệ thống hoạt động theo cách của nó với hàng loại những bước phức tạp để mà đưa ra kết quả mà người dùng mong muốn.
  • Đa hình là gì?
     Đa hình là khả năng để một hành động có thể sử dụng cho nhiều loại đối tượng khác nhau. Các đối tượng khác nhau có cùng hành động nhưng ứng xử của mõi đối tượng lại khác nhau tùy vào bản chất bên trong nó như thế nào.
     Ví dụ : Xe đạp, xe máy đều có cùng một hành động là nạp nhiên liệu nhưng nhiên liệu của xe đạp là động lực, xe máy là xăng..
  • Kế thừa là gì?
       Kế thừa là khả năng thừa hưỡng lại những hoạt động, thuộc tính mà lớp cha để lại cho lớp con.