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

Lập trình phía đối tượng người tiêu dùng (Object Oriented Programming – OOP) là 1 trong trong mỗi chuyên môn thiết kế vô cùng cần thiết và dùng nhiều lúc bấy giờ. Hầu không còn những ngôn từ thiết kế lúc bấy giờ như Java, PHP, .NET, Ruby, Python… đều tương hỗ OOP. Vậy lập trình hướng đối tượng là gì? Và những nguyên tắc cơ phiên bản nhập OOP nên biết là gì?

  • Functional Programming là gì?

Lập trình phía đối tượng người tiêu dùng (OOP) là 1 trong chuyên môn thiết kế được chấp nhận lập trình viên dẫn đến những đối tượng người tiêu dùng nhập code trừu tượng hóa những đối tượng người tiêu dùng.

Bạn đang xem: lập trình hướng đối tượng là gì

Đối tượng là những sự vật, vấn đề nhưng mà nó đem những đặc thù, đặc điểm, hành vi kiểu như nhau và tớ tom góp lại trở nên đối tượng người tiêu dùng kiểu như nhập thực tiễn cuộc sống đời thường. Khi thiết kế OOP, tất cả chúng ta tiếp tục khái niệm những lớp (class) nhằm gom (mô hình) những đối tượng người tiêu dùng thực tiễn.

Đối tượng

Một đối tượng người tiêu dùng bao hàm 2 thông tin: thuộc tính và phương thức.

  •  Thuộc tính chính là những vấn đề, Đặc điểm của đối tượng người tiêu dùng. Ví dụ: con cái người dân có những đặc điểm như đôi mắt, mũi, tay, chân…
  •  Phương thức là những thao tác, hành vi nhưng mà đối tượng người tiêu dùng cơ hoàn toàn có thể tiến hành. Ví dụ: một người tiếp tục hoàn toàn có thể tiến hành hành vi trình bày, chuồn, ăn, húp, . . .

Lớp

Một lớp là 1 trong loại tài liệu bao hàm những tính chất và những cách thức được khái niệm từ xưa. Đây là sự việc trừu tượng hóa của đối tượng người tiêu dùng. Khác với loại tài liệu thường thì, một tờ là 1 trong đơn vị chức năng (trừu tượng) bao hàm sự phối hợp trong những cách thức và những tính chất. Hiểu nôm mãng cầu rộng lớn là những đối tượng người tiêu dùng đem những đặc điểm tương tự động nhau được tụ lại trở nên một tờ đối tượng người tiêu dùng.

Sự không giống nhau thân ái đối tượng người tiêu dùng và lớp

Lớp chúng ta cũng có thể hiểu nó như thể nguyên hình, đối tượng người tiêu dùng là 1 trong thực thể thể hiện tại dựa vào nguyên hình cơ. Ví dụ: Ta nói tới loại chó, chúng ta cũng có thể hiểu nó là class (lớp) chó có:

  • Các vấn đề, quánh điểm: 4 chân, 2 đôi mắt, đem đuôi, đem độ cao, đem khối lượng, màu sắc lông…
  • Các hành vi như: sủa, chuồn, ăn, ngủ…

Đối tượng thì đó là con cái chó Phú Quốc tớ đang được nuôi nhập mái ấm cũng đem đặc điểm của lớp chó.

Các nguyên tắc cơ phiên bản của OOP

Tính gói gọn (Encapsulation)

Note:

  • Các tài liệu và cách thức đem tương quan cùng nhau được gói gọn trở nên những lớp nhằm tiện cho tới việc vận hành và dùng. Tức là từng lớp được kiến tạo nhằm tiến hành một group tác dụng đặc thù của riêng biệt lớp cơ.
  •  Ngoài đi ra, gói gọn còn nhằm bao phủ ỉm một trong những vấn đề và cụ thể setup nội cỗ nhằm bên phía ngoài ko thể bắt gặp.

Các tính chất và cách thức của đối tượng người tiêu dùng nên thả việc giải quyết và xử lý vấn đề và đã được lựa chọn ra sẽ tiến hành gói gọn vào một trong những loại tài liệu gọi là class. Nhằm bao phủ vệt vấn đề ngoài những đối tượng người tiêu dùng bên phía ngoài, tính chất này thì cách thức nấy. Tức là code bên phía ngoài ko thẳng bắt gặp và thay cho thay đổi tình trạng của đối tượng người tiêu dùng cơ.

OOP-Encapsulation

Nói cộng đồng tình trạng đối tượng người tiêu dùng ko hợp thức thông thường do: không được đánh giá tính hợp thức, quá trình tiến hành ko đích thị trình tự động hoặc bị bỏ lỡ nên nhập OOP mang trong mình một quy tắc cần thiết lưu ý này đó là cần luôn luôn khai báo những tình trạng phía bên trong của đối tượng người tiêu dùng là private và chỉ cho tới truy vấn qua quýt những public/protected method/property.

Ví dụ tớ thấy một viên dung dịch trị cảm. Chúng tớ chỉ biết nó trị cảm buột mũi nhức đầu và một trong những bộ phận chủ yếu, còn ví dụ phía bên trong đó đem những hoạt hóa học gì thì trọn vẹn ko biết.

Tính thừa kế (Inheritance)

Nó được chấp nhận kiến tạo một tờ mới nhất dựa vào những khái niệm của lớp tiếp tục đem. Có tức là lớp phụ thân hoàn toàn có thể phân tách tiếp tục tài liệu và cách thức cho những lớp con cái. Các lớp con cái ngoài cần khái niệm lại, ngoại giả hoàn toàn có thể không ngừng mở rộng những bộ phận thừa kế và bổ sung cập nhật thêm thắt những bộ phận mới nhất. Tái dùng mã mối cung cấp một cách tối ưu, tận dụng tối đa được mã mối cung cấp. Một số loại tiếp loại thừa kế thông thường gặp: đơn thừa kế, nhiều thừa kế, thừa kế nhiều cung cấp, thừa kế loại bậc.

Khi chính thức kiến tạo phần mềm tất cả chúng ta tiếp tục chính thức kiến thiết khái niệm những lớp trước. Thông thông thường một trong những lớp đem mối quan hệ với những lớp không giống, bọn chúng đem những đặc điểm kiểu như nhau.

Xem thêm: tính tổng của các số có 3 chữ số,các số đều chia 5 dư 3. trả lời:tổng các số đó là

VD: 2 lớp Android, iPhone

Mỗi lớp đều đại diện thay mặt cho 1 loại điện thoại thông minh không giống nhau tuy nhiên lại sở hữu những tính chất kiểu như nhau như gọi năng lượng điện, nhắn tin yêu, chụp ảnh. Thay vì như thế sao chép những tính chất này, tớ nên được sắp xếp bọn chúng vào một trong những lớp cộng đồng gọi là lớp phụ thân. Chúng tớ hoàn toàn có thể khái niệm lớp phụ thân – nhập tình huống này là Smartphone và đem những lớp con cái thừa kế kể từ nó, dẫn đến một quan hệ cha/con.

Tính nhiều hình (Polymorphism)

Tính nhiều hình là 1 trong hành vi hoàn toàn có thể được tiến hành vì chưng vô số cách thức không giống nhau. Đây lại là 1 trong đặc thù nói theo một cách khác là tiềm ẩn đa số sức khỏe của thiết kế phía đối tượng người tiêu dùng.

Hiểu một cơ hội đơn giản và giản dị hơn: Đa hình là định nghĩa nhưng mà nhì hoặc nhiều tầng đem những cách thức kiểu như nhau tuy nhiên hoàn toàn có thể thực đua theo gót những phương thức không giống nhau.

Ví dụ như tại phần bên trên, từng một điện thoại thông minh thừa kế kể từ lớp phụ thân Smartphone tuy nhiên hoàn toàn có thể tàng trữ tài liệu bên trên cloud theo gót những cơ hội không giống nhau. Android tàng trữ vì chưng Google Drive iPhone lưu bên trên iCloud.

Một ví dụ về nhiều hình nhập thực tiễn. Ta đem 2 con cái vật: chó, mèo. Cả 2 loài vật này đều là lớp động vật hoang dã. Nhưng Khi tớ bảo cả hai động vật hoang dã kêu thì con cái chó tiếp tục kêu gâu gâu, con cái mèo tiếp tục kêu meo meo.

Vậy nhập ví dụ chó, mèo coi như thể những đối tượng người tiêu dùng. 2 loài vật hoàn toàn có thể hiểu nằm trong kêu tuy nhiên theo gót những cơ hội không giống nhau.

Tính trừu tượng (Abstraction)

Trừu tượng đem nghĩ về là tổng quát lác hóa một chiếc gì cơ lên, ko cần thiết lưu ý cụ thể phía bên trong. Nó ko màng cho tới cụ thể phía bên trong là gì và người tớ vẫn hiểu nó mọi khi nghe về nó.

Ví dụ: Quý khách hàng chạy xe pháo tay ga thì đem hành vi là tăng ga nhằm bức tốc, thì tác dụng tăng ga là đại diện thay mặt cho tới trừu tượng (abstraction). Người sử dụng chỉ nên biết là tăng ga thì xe pháo bức tốc, ko nên biết phía bên trong đó thực hiện thế này.

Ở phía trên nhập thiết kế OOP, tính trừu tượng tức là lựa chọn ra những tính chất, cách thức của đối tượng người tiêu dùng nên thả việc giải quyết và xử lý vấn đề đang được thiết kế. Vì một đối tượng người tiêu dùng đem thật nhiều tính chất cách thức, tuy nhiên với vấn đề ví dụ ko nhất thiết cần lựa chọn toàn bộ.

Ví dụ: Bài toán vận hành SV tất cả chúng ta chỉ việc vận hành những vấn đề như

  • Họ tên
  • Ngày sinh
  • Giới tính
  • Điểm thi

mà lại ko cần thiết vận hành thêm thắt những thông tin:

Xem thêm: ngôn ngữ lập trình là gì

  • Màu tóc
  • Sở thích
  • Chiều cao

Tại vì như thế bọn chúng thực sự ko quan trọng.

Các ưu thế của thiết kế phía đối tượng

  • Dựa bên trên nguyên tắc thừa kế, nhập quy trình tế bào miêu tả những lớp hoàn toàn có thể vô hiệu những lịch trình bị lặp, dư. Và hoàn toàn có thể không ngừng mở rộng năng lực dùng những lớp nhưng mà ko cần thiết tiến hành lại. Tối ưu và tái ngắt dùng code hiệu suất cao.
  • Đảm bảo tinh giảm thời hạn kiến tạo khối hệ thống và tăng năng suất tiến hành.
  • Sự xuất hiện tại của 2 định nghĩa mới nhất là lớp và đối tượng chính là đặc trưng của cách thức thiết kế phía đối tượng. Nó tiếp tục giải quyết và xử lý được những yếu điểm của cách thức thiết kế phía cấu tạo nhằm lại. Bên cạnh đó 2 định nghĩa này đã hỗ trợ màn trình diễn đảm bảo chất lượng rộng lớn trái đất thực bên trên PC.

Một số nội dung bài viết chúng ta cũng có thể quan liêu tâm:

  • So sánh Interface và Abstract nhập thiết kế phía đối tượng
  • 4 đặc thù của thiết kế phía đối tượng người tiêu dùng nhập Java
  • Tìm hiểu về nguyên tắc “vàng” SOLID nhập thiết kế phía đối tượng

Đừng bỏ qua những việc thực hiện thiết kế OOP hấp dẫn bên trên TopDev