Lập trình hướng đối tượng (Object Oriented Programming OOP) là trong số những kỹ thuật thiết kế rất đặc biệt và áp dụng nhiều hiện nay nay. Hầu như các ngôn ngữ lập trình bây giờ như Java, PHP, .NET, Ruby, Python đều hỗ trợ OOP. Vậy lập trình hướng đối tượng người sử dụng là gì? cùng các nguyên lý cơ bản trong OOP cần biết là gì?


Functional Programming là gì?

Lập trình hướng đối tượng người dùng (OOP) là gì?

Lập trình hướng đối tượng (OOP) là một trong kỹ thuật lập trình có thể chấp nhận được lập trình viên tạo ra các đối tượng người tiêu dùng trong code trừu tượng hóa những đối tượng.

Bạn đang xem: Đối tượng là gì

Đối tượng là mọi sự vật, sự việc mà nó có những tính chất, đặc tính, hành động giống nhau cùng ta góp nhóp lại thành đối tượng người sử dụng giống trong thực tiễn cuộc sống. Lúc lập trình OOP, bọn họ sẽ định nghĩa các lớp (class) nhằm gom (mô hình) các đối tượng thực tế.

Đối tượng

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

Thuộc tínhchính là mọi thông tin, đặc điểm của đối tượng. Ví dụ: con tín đồ có các đặc tính như mắt, mũi, tay, chânPhương thứclà đa số thao tác, hành động mà đối tượng người sử dụng đó hoàn toàn có thể thực hiện. Ví dụ: một bạn sẽ hoàn toàn có thể thực hiện hành động nói, đi, ăn, uống, . . .

Lớp

Một lớp là 1 kiểu dữ liệu bao gồm các ở trong tính và những phương thức được quan niệm từ trước. Đây là sự trừu tượng hóa của đối tượng. Không giống với kiểu tài 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 giữa các phương thức và những thuộc tính. đọc nôm na hơn là các đối tượng người dùng có những đặc tính tương tự nhau được tụ lại thành một tấm đối tượng.

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

Lớp bạn có thể hiểu nó như thể khuôn mẫu, đối tượng người tiêu dùng là một thực thể thể hiện dựa trên khuôn chủng loại đó. Ví dụ: Ta nói về loài chó, chúng ta cũng có thể hiểu nó là class (lớp) chó có:

Các thông tin, sệt điểm: 4 chân, 2 mắt, tất cả đuôi, có chiều cao, có cân nặng, color lôngCác hành động như: sủa, đi, ăn, ngủ

Đối tượng thì đó là con chó Phú Quốc ta đang nuôi trong nhà cũng có đặc tính của lớp chó.


*
*
*

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

Tính đóng gói (Encapsulation)

Note:

Các tài liệu và phương thức có liên quan với nhau được gói gọn thành các lớp để tiện cho việc làm chủ và sử dụng. Có nghĩa là mỗi lớp được xây dựng để tiến hành một nhóm tác dụng đặc trưng của riêng biệt lớp đó.Ngoài ra, gói gọn còn để đậy giấu một trong những thông tin và bỏ ra tiết thiết đặt nội cỗ để bên phía ngoài không thể nhìn thấy.Các thuộc tính và cách làm của đối tượng người sử dụng cần mang đến việc giải quyết và xử lý bài toán vẫn được chọn ra sẽ tiến hành đóng gói vào một trong những kiểu dữ liệu gọi là class. Nhằm mục đích che dấu tin tức khỏi các đối tượng người tiêu dùng bên ngoài, trực thuộc tính như thế nào thì cách thức nấy. Tức là code bên ngoài không trực tiếp nhận thấy và biến hóa trạng thái của đối tượng người sử dụng đó.
*
*
*

Nói bình thường trạng thái đối tượng người sử dụng không đúng theo lệ thường xuyên do: không được kiểm tra tính hợp lệ, quá trình thực hiện nay không đúng trình từ hoặc bị vứt qua bắt buộc trong OOP tất cả một quy tắc quan trọng đặc biệt cần nhớ đó là phải luôn khai báo những trạng thái bên phía trong của đối tượng là private và chỉ cho truy vấn qua các public/protected method/property.

Ví dụ ta thấy một viên thuốc trị cảm. Chúng ta chỉ biết nó chữa trị cảm sổ mũi nhức đầu và một trong những thành phần chính, còn ráng thể phía bên trong nó bao gồm hoạt hóa học gì thì trọn vẹn không biết.

Tính kế thừa (Inheritance)

Nó cho phép xây dựng một lớp new dựa trên các định nghĩa của lớp đang có. Tức là lớp phụ thân có thể phân chia sẽ tài liệu và phương thức cho các lớp con. Những lớp bé khỏi nên định nghĩa lại, trong khi có thể không ngừng mở rộng các thành phần thừa kế và bổ sung thêm những thành phần mới. Tái áp dụng mã nguồn 1 cách tối ưu, tận dụng được mã nguồn. Một trong những loại kế loại kế thừa thường gặp: solo kế thừa, đa kế thừa, thừa kế đa cấp, kế thừa thứ bậc.

Khi ban đầu xây dựng ứng dụng bọn họ sẽ ban đầu thiết kế định nghĩa những lớp trước. Thông thường một số trong những lớp gồm quan hệ với đầy đủ lớp khác, chúng gồm có đặc tính giống nhau.

VD: 2 lớp Android, iPhone


Mỗi lớp đều đại diện cho một loại điện thoại cảm ứng khác nhau nhưng lại có những nằm trong tính kiểu như nhau như điện thoại tư vấn điện, nhắn tin, chụp hình. Cố vì xào nấu những nằm trong tính này, ta buộc phải đặt nó vào một lớp tầm thường gọi là lớp cha. Bạn có thể định nghĩa lớp phụ vương trong trường đúng theo này là điện thoại cảm ứng thông minh và gồm có lớp con thừa kế từ nó, tạo thành một mối quan hệ cha/con.

Tính đa hình (Polymorphism)

Tính nhiều hình là một trong hành động có thể được thực hiện bằng rất nhiều cách thức khác nhau. Đây lại là 1 trong tính chất nói theo cách khác là cất đựng đa số sức mạnh mẽ của lập trình hướng đối tượng.

Hiểu một cách dễ dàng hơn: Đa hình là khái niệm nhưng mà hai hoặc những lớp bao gồm phương thức tương đương nhau nhưng có thể thực thi theo những phương pháp khác nhau.

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

Một lấy ví dụ như về đa hình trong thực tế. Ta gồm 2 nhỏ vật: chó, mèo. Cả hai con đồ này gần như là lớp cồn vật. Cơ mà khi ta bảo cả 2 động đồ gia dụng kêu thì nhỏ chó sẽ kêu gâu gâu, bé mèo vẫn kêu meo meo.

Vậy trong lấy ví dụ như chó, mèo xem như là những đối tượng. 2 nhỏ vật có thể hiểu thuộc kêu nhưng theo những cách không giống nhau.


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

Trừu tượng có nghĩ là bao quát hóa một cái gì đó lên, ko cần chú ý chi tiết bên trong. Nó ko màng đến chi tiết bên phía trong là gì và người ta vẫn gọi nó mỗi khi nghe tới về nó.

Ví dụ: chúng ta chạy xe pháo tay ga thì có hành vi là tăng ga nhằm tăng tốc, thì tính năng tăng ga là đại diện cho trừu tượng (abstraction). Người dùng chỉ nên biết là tăng ga thì xe pháo tăng tốc, không bắt buộc biết bên trong nó làm thế nào.

Ở đây trong lập trình sẵn OOP, tính trừu tượng nghĩa là chọn ra những thuộc tính, cách thức của đối tượng người sử dụng cần cho việc giải quyết và xử lý bài toán vẫn lập trình. Vì một đối tượng có nhiều thuộc tính phương thức, tuy nhiên với bài toán rõ ràng không độc nhất thiết đề xuất chọn tất cả.

Ví dụ: bài toán thống trị sinh viên bọn họ chỉ cần làm chủ các thông tin như

Họ tênNgày sinhGiới tínhĐiểm thi

mà lại ko cần thống trị thêm những thông tin:

Màu tócSở thíchChiều cao

Tại do chúng thực sự không đề xuất thiết.

Xem thêm: Media Là Gì? Những Kênh Media Mới Trong Thời Đại Công Nghệ Số

Các ưu điểm của lập trình phía đối tượng

Dựa trên nguyên tắc kế thừa, trong quá trình mô tả các lớp có thể loại quăng quật những lịch trình bị lặp, dư. Và rất có thể mở rộng tài năng sử dụng những lớp nhưng không cần tiến hành lại. Buổi tối ưu cùng tái sử dụng code 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 thực hiện.Sự xuất hiện thêm của 2 khái niệm new làlớpđối tượngchính làđặc trưng của phương thức lập trình hướng đối tượng. Nó đã giải quyết được những khuyết điểm của cách thức lập trình hướng cấu tạo để lại. Bên cạnh đó 2 quan niệm này đã giúp biểu diễn tốt chưa dừng lại ở đó giới thực trên sản phẩm tính.

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

So sánh Interface với Abstract trong lập trình phía đối tượng4 đặc thù của xây dựng hướng đối tượng người sử dụng trong JavaTìm đọc về nguyên tắc vàng SOLID vào lập trình hướng đối tượng

Đừng bỏ lỡ các việc làm lập trình sẵn OOPhấp dẫn bên trên TopDev