Lập trình hướng đối tượng là gì? | Object Oriented Programming – OOP

Lập trình hướng đối tượng (OOP) là một trong những kỹ thuật lập trình quan trọng và được sử dụng rộng rãi nhất hiện nay. hầu hết các ngôn ngữ lập trình hiện nay như java, php, .net, ruby, python … chúng đều hỗ trợ oop . Vậy lập trình hướng đối tượng là gì? và những nguyên tắc cơ bản của lập trình hướng đối tượng cần biết là gì?

  • lập trình chức năng là gì?

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

Lập trình hướng đối tượng (oop) là một kỹ thuật lập trình cho phép lập trình viên tạo các đối tượng trong mã trừu tượng hóa chúng.

Bạn đang xem: Oop là gì

đối tượng là những sự vật, sự kiện có cùng tính chất, đặc điểm, hành động giống nhau và chúng ta tập hợp chúng vào cùng một đối tượng ngoài đời thực. khi lập trình oop, chúng tôi sẽ xác định các lớp để thu thập (mô hình hóa) các đối tượng thực.

đối tượng

một đối tượng chứa 2 phần thông tin: thuộc tính phương thức .

Thuộc tính

  • là thông tin và đặc điểm của đối tượng. ví dụ: một người có các thuộc tính như mắt, mũi, tay, chân …
  • phương pháp là các thao tác, thao tác mà đối tượng có thể thực hiện. ví dụ, một người có thể thực hiện hành động nói chuyện, đi bộ, ăn, uống,. . .

lớp

Một lớp là một kiểu dữ liệu bao gồm các thuộc tính và phương thức được xác định trước. đây là sự trừu tượng của đối tượng. Không giống như một kiểu dữ liệu thông thường, một lớp là một đơn vị (trừu tượng) bao gồm sự kết hợp của các phương thức và thuộc tính. Đại khái hơn, các đối tượng có các thuộc tính tương tự được nhóm thành một lớp đối tượng.

sự khác biệt giữa đối tượng và lớp

Lớp

có thể hiểu nó là một khuôn mẫu, đối tượng là một thể hiện của cá thể dựa trên khuôn mẫu đó. chẳng hạn, chúng ta nói về loài chó, bạn có thể hiểu nó là một hạng chó với:

  • thông tin và đặc điểm: 4 chân, 2 mắt, đuôi, chiều cao, cân nặng, màu lông…
  • các hành động như sủa, đi lại, ăn, ngủ…

>

đối tượng là con chó phú quốc mà chúng tôi đang nuôi trong nhà, cũng có những đặc điểm của loại chó ngao.

class object

kiến ​​thức cơ bản trên

đóng gói

lưu ý:

  • Dữ liệu và các phương thức liên quan được gói gọn trong các lớp để dễ sử dụng và quản trị. nghĩa là mỗi lớp được thiết kế để thực hiện một tập hợp chức năng cụ thể của lớp đó.
  • Ngoài ra, tính năng đóng gói cũng che giấu một số thông tin và chi tiết triển khai nội bộ với các bên bên ngoài. bên ngoài không thể nhìn thấy.

Các thuộc tính và phương thức của đối tượng cần thiết để giải quyết vấn đề đã chọn sẽ được gói gọn trong một kiểu dữ liệu gọi là lớp. để ẩn thông tin khỏi các đối tượng bên ngoài, bất kỳ thuộc tính nào cũng có một phương thức. nghĩa là, mã bên ngoài không trực tiếp nhìn thấy hoặc thay đổi trạng thái của đối tượng đó.

Xem thêm: Bit là gì? Byte là gì? Khi nào dùng bít khi nào dùng byte? – TOTOLINK Việt Nam

OOP-Encapsulation

Trạng thái đối tượng không hợp lệ thường do: không được xác thực, các bước thực hiện không theo thứ tự hoặc bị bỏ qua, vì vậy, có một quy tắc quan trọng cần nhớ là luôn khai báo các trạng thái bên trong của đối tượng là riêng tư và chỉ có thể truy cập thông qua công khai / property / các phương thức được bảo vệ.

Ví dụ: chúng tôi thấy một viên thuốc cảm. Chúng ta chỉ biết rằng nó chữa cảm lạnh, nhức đầu và một vài thành phần chính, nhưng hoạt chất cụ thể bên trong nó là gì thì hoàn toàn không ai biết.

kế thừa

cho phép bạn tạo một lớp mới dựa trên các định nghĩa lớp hiện có. điều này có nghĩa là lớp cha có thể chia sẻ dữ liệu và phương thức với các lớp con. các lớp con không cần phải định nghĩa lại, ngoài ra chúng có thể mở rộng các thành phần kế thừa và thêm các thành phần mới. sử dụng lại mã nguồn một cách tối ưu, tận dụng lợi thế của mã nguồn. một số kiểu kế thừa phổ biến: kế thừa đơn, thừa kế đa cấp, thừa kế đa cấp, thừa kế phân cấp.

Khi chúng tôi bắt đầu xây dựng ứng dụng, trước tiên chúng tôi sẽ bắt đầu thiết kế định nghĩa của các lớp. thường thì một số lớp có liên quan đến các lớp khác, chúng có các thuộc tính tương tự.

ví dụ: 2 lớp android, iphone

mỗi lớp đại diện cho một loại điện thoại thông minh khác nhau nhưng có cùng tính chất, chẳng hạn như gọi điện, nhắn tin, chụp ảnh. thay vì sao chép các thuộc tính này, chúng ta nên đặt chúng vào một lớp chung gọi là lớp cha. chúng ta có thể xác định lớp cha, trong trường hợp này là điện thoại thông minh và có các lớp con kế thừa từ lớp đó, tạo ra mối quan hệ cha / con.

đa hình

đa hình là một hành động có thể được thực hiện theo nhiều cách khác nhau. đây lại là một thuộc tính có thể nói là chứa hầu hết sức mạnh của lập trình hướng đối tượng.

Nói một cách đơn giản hơn: đa hình là một khái niệm trong đó hai hoặc nhiều lớp có cùng phương thức nhưng có thể được triển khai theo những cách khác nhau.

Ví dụ: trong ví dụ trên, mỗi điện thoại thông minh kế thừa từ lớp siêu cấp điện thoại thông minh, nhưng có thể lưu trữ dữ liệu trên đám mây theo những cách khác nhau. android được google drive lưu trữ trên iphone, icloud.

Xem thêm: Cấu trúc Contrary trong tiếng Anh đầy đủ kèm bài tập – Step Up English

một ví dụ về tính đa hình trong hoạt động. Chúng tôi có hai con vật: con chó và con mèo. cả hai động vật đều là động vật lớp. nhưng khi chúng ta bảo cả hai con vật kêu meo meo, con chó sẽ sủa, con mèo sẽ kêu meo meo.

vì vậy, trong ví dụ, chó và mèo được coi là đồ vật. Hai con vật có thể hiểu cùng một âm thanh nhưng theo một cách khác nhau.

trừu tượng

trừu tượng có nghĩa là khái quát một cái gì đó trở lên mà không cần chú ý đến các chi tiết bên trong. anh ấy không quan tâm những gì bên trong và mọi người vẫn nhận được nó mỗi khi họ nghe về nó.

ví dụ: nếu bạn đang đi xe tay ga, hành động là tăng ga để tăng tốc, khi đó chức năng ga thể hiện tính trừu tượng. người dùng chỉ cần biết rằng khi bạn tăng tốc, xe sẽ tăng tốc, bất kể bên trong xe như thế nào.

Ở đây trong lập trình hướng đối tượng, trừu tượng có nghĩa là chọn các thuộc tính và phương thức của đối tượng cần thiết để giải quyết vấn đề bạn đang lập trình. bởi vì một đối tượng có nhiều thuộc tính phương thức, nhưng đối với một vấn đề cụ thể, không nhất thiết phải chọn tất cả chúng.

chẳng hạn, trong bài toán quản lý sinh viên, chúng ta chỉ cần quản lý những thông tin như

  • tên
  • ngày sinh
  • giới tính
  • điểm kiểm tra

không cần quản lý thông tin bổ sung:

  • màu tóc
  • sở thích
  • chiều cao

vì chúng thực sự không cần thiết.

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

  • Dựa trên nguyên tắc kế thừa, trong quá trình mô tả lớp có thể loại bỏ các chương trình lặp lại, thừa. và bạn có thể mở rộng khả năng sử dụng của các lớp mà không cần thực hiện lại. tối ưu hóa và sử dụng lại mã một cách hiệu quả.
  • đảm bảo rút ngắn thời gian xây dựng hệ thống và tăng năng suất triển khai.
  • sự xuất hiện của 2 khái niệm mới là lớp > đối tượng đặc điểm của phương pháp lập trình hướng đối tượng . đã giải quyết được những khuyết điểm của phương pháp lập trình hướng cấu trúc. hơn nữa, hai khái niệm này đã giúp thể hiện tốt hơn thế giới thực trong máy tính.

một số bài viết có thể bạn quan tâm:

  • so sánh giao diện và trừu tượng trong lập trình hướng đối tượng
  • 4 thuộc tính của lập trình hướng đối tượng trong java
  • tìm hiểu về “nguyên tắc vàng” vững chắc trong hướng đối tượng lập trình

đừng bỏ lỡ những công việc lập trình tốt nhất trên topdev

Xem thêm: Các chất ô nhiễm được tìm thấy trong nước ngầm – SWD Purify your life