Tổng quan về lập trình hướng đối tượng | How Kteam

Dẫn nhập

Đây là bài đầu tiên trong series Lập trình hướng đối tượng với C#. Trong bài này chúng ta sẽ cùng tìm hiểu xem lập trình hướng đối tượng là gì? Những đặc điểm cơ bản của lập trình hướng đối tượng?

Nội dung

Để đọc hiểu bài này tốt nhất những bạn nên có kỹ năng và kiến thức cơ bản về những phần :

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Lập trình hướng đối tượng là gì?
  • Một số khái niệm cơ bản trong lập trình hướng đối tượng.
  • Các đặc điểm của lập trình hướng đối tượng

Lập trình hướng đối tượng là gì?

Sự tiến hoá của các phương pháp lập trình

Đầu tiên là lập trình không có cấu trúc:

  • Là phương pháp xuất hiện đầu tiên. Phương pháp này đơn giản chỉ là viết tất cả mã lệnh vào 1 hàm main duy nhất và chạy.
  • Ngôn ngữ sử dụng phương pháp này là

    Assembly

    (hợp ngữ).

  • Nhược điểm của phương pháp này:
    •  Chỉ sử dụng biến toàn cục dẫn đến rất tốn bộ nhớ.
    •  Vì có những đoạn chương trình cần sử dụng lại nhiều lần nên dẫn đến lạm dụng lệnh goto.
    •  Khó hiểu, khó bảo trì, không thể tái sử dụng.
    •  Khó phát triển các ứng dụng lớn.

Tiếp theo là lập trình có cấu trúc (lập trình thủ tục):

  • Sau 1 thời gian tồn tại người ta dần nhận ra những nhược điểm của phương pháp trên và đưa ra giải pháp đó là chia chương trình lớn ra thành các chức năng, mỗi chức năng được đưa vào 1 hàm. Khi cần dùng đến chức năng nào thì ta sẽ gọi hàm tương ứng.
  • Mỗi chương trình con lại có thể chia nhỏ ra nữa.
  • Hầu hết các ngôn ngữ lập trình đều hỗ trợ phương pháp này.
  • Ưu điểm:
    •  Chương trình được module hoá, dễ hiểu, dễ bảo trì.
    •  Dễ dàng tạo ra các thư viện phần mềm.
  • Nhược điểm:
    •  Dữ liệu và xử lý tách rời.
    •  Khi cấu trúc dữ liệu thay đổi sẽ dẫn đến thuật toán bị thay đổi.
    •  Không tự động khởi tạo, giải phóng dữ liệu động.
    •  Không mô tả được đầy đủ, trung thực hệ thống trong thực tế.

Tiếp theo là lập trình hướng đối tượng, phương pháp mà chúng ta sẽ tìm hiểu trong series này.

Khái niệm lập trình hướng đối tượng

Với mong muốn xây dựng một phương pháp lập trình trực quan, mô tả trung thực hệ thống trong thực tế vì thế phương pháp lập trình hướng đối tượng ra đời.

Lập trình hướng đối tượng là chiêu thức lập trình lấy đối tượng làm nền tảng để thiết kế xây dựng chương trình .

Một định nghĩa khác về lập trình hướng đối tượng đó là phương pháp lập trình dựa trên kiến trúc lớp (class) và đối tượng (object).

Một số khái niệm cơ bản trong lập trình hướng đối tượng

Đối tượng

Trong lập trình hướng đối tượng, đối tượng được hiểu như là 1 thực thể: người, vật hoặc 1 bảng dữ liệu,. . .

Một đối tượng bao gồm 2 thông tin: thuộc tínhphương thức.

  •  Thuộc tính chính là những thông tin, đặc điểm của đối tượng. Ví dụ: một người sẽ có họ tên, ngày sinh, màu da, kiểu tóc,. . .
  •  Phương thức là những thao tác, hành động mà đối tượng đó có thể thực hiện. Ví dụ: một người sẽ có thể thực hiện hành động nói, đi, ăn, uống,. . .

Lớp

Các đối tượng có các đặc tính tương tự nhau được gom lại thành 1 lớp đối tượng.

Bên trong lớp cũng có 2 thành phần chính đó là thuộc tính và phương pháp .

Ngoài ra, lớp còn được dùng để định nghĩa ra kiểu dữ liệu mới.

Sự khác nhau giữa đối tượng và lớp

Lớp là một khuôn mẫu còn đối tượng là một thể hiện cụ thể dựa trên khuôn mẫu đó.

Để dễ hiểu hơn mình sẽ lấy một ví dụ trong thực tiễn :

  • Nói về con mèo thì lớp chính là loài mèo. Loài mèo có:
    •  Các thông tin, đặc điểm như 4 chân, 2 mắt, có đuôi, có chiều cao, có cân nặng, màu lông. . .
    •  Các hành động như: kêu meo meo, đi, ăn, ngủ,. . .
  • Như vậy mọi động vật thuộc loài mèo sẽ có những đặc điểm như trên.
  • Đối tượng chính là một con mèo cụ thể nào đó như con mèo con đang nằm dưới chân mình.

Một ví dụ khác. Ví dụ này mình sẽ dùng 1 hình ảnh để minh hoạ :

Tổng quan về lập trình hướng đối tượng

  •  Bạn thấy đấy khi nói đến xe otô thì lớp chính khuôn mẫu của cái xe với các đặc trưng như có 4 bánh và có thiết kế tương tự như hình vẽ. Đối tượng chính là các chiếc xe otô cụ thể như Toyota camry, Honda city, Ford ranger.

Sự xuất hiện của 2 khái niệm mới là lớp đối tượng chính là đặc trưng của phương pháp lập trình hướng đối tượng. Nó đã giải quyết được các khuyết điểm của phương pháp lập trình hướng cấu trúc để lại. Ngoài ra 2 khái niệm này đã giúp biểu diễn tốt hơn thế giới thực trên máy tính.

Các đặc điểm của lập trình hướng đối tượng

Lập trình hướng đối tượng có 4 đặc điểm chính:

Tính đóng gói:

  •  Các dữ liệu và phương thức có liên quan với nhau được đóng gói thành các lớp để tiện cho việc quản lý và sử dụng.
  •  Ngoài ra, đóng gói còn để che giấu một số thông tin và chi tiết cài đặt nội bộ để bên ngoài không thể nhìn thấy.

Tính trừu tượng: Khi viết chương trình theo phong cách hướng đối tượng, việc thiết kế các đối tượng ta cần rút tỉa ra những đặc trưng chung của chúng rồi trừu tượng thành các interface (khái niệm interface sẽ được trình bày trong bài INTERFACE TRONG C#) và thiết kế xem chúng sẽ tương tác với nhau như thế nào.

Tính kế thừa: Lớp cha có thể chia sẽ dữ liệu và phương thức cho các lớp con, các lớp con khỏi phải định nghĩa lại, giúp chương trình ngắn gọn. Chi tiết sẽ được trình bày trong bài TÍNH KẾ THỪA TRONG C#.

Tính đa hình: Là hiện tượng các đối tượng thuộc các lớp khác nhau có thể hiểu cùng một thông điệp theo các cách khác nhau. Chi tiết sẽ được trình bày và giải thích trong bài TÍNH ĐA HÌNH TRONG C#.

Kết luận

Nội dung bài này giúp những bạn nắm được :

  • Lập trình hướng đối tượng là gì?

Bài tiếp theo chúng ta sẽ cùng tìm hiểu về CLASS TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG .

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

Thảo luận

Nếu bạn có bất kể khó khăn vất vả hay vướng mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI và ĐÁP trên thư viện Howkteam. com để nhận được sự tương hỗ từ hội đồng .