Các tính chất của OOP là một trong những từ khóa được tìm kiếm nhiều nhất trên google về chủ đề Các tính chất của OOP. Trong bài viết này, coder.com.vn sẽ viết bài Các tính chất của OOP [Lập trình hướng đối tượng] mới nhất 2020
Tại bài viết này, tôi xin recommend 4. thuộc tính của lập trình hướng đối tượng tại Java. mong rằng bài viết này đem đến nhiều thông tin hữu ích cho bạn!
Tính đóng gói (encapsulation) và che giấu thông tin (information hiding)
- Tức là tình trạng của đối tượng được bảo vệ không cho các truy cập từ code bên ngoài như điều chỉnh trong thái hay Nhìn trực tiếp. Việc cho phép môi trường bên ngoài ảnh hưởng lên những dữ liệu nội trong của một đối tượng mục tiêu theo cách nào là hoàn toàn tùy thuộc vào người viết mã. đây là thuộc tính bảo đảm sự vẹn toàn, bảo mật của đối tượng mục tiêu tại Java, tính đóng gói được biểu hiện thông qua phạm vi truy cập (access modifier). ngoài ra, các lớp có sự liên quan đến nhau có khả năng được gom chung lại thành package.
Tính kế thừa (Inheritance)
- Tính kế thừa là khả năng cho phép ta xây dựng một lớp mới dựa trên các định nghĩa của một lớp đã có. Lớp đã có gọi là lớp Cha, lớp mới phát sinh gọi là lớp Con , đương nhiên kế thừa tổng cộng những thành phần của lớp Cha, có khả năng chia sẻ hay mở mênh mông những đặc tính sẵn có mà chẳng hề tiến hành khái niệm lại.
Xem thêm: Hướng dẫn cách lập trình trí tuệ nhân tạo Python cơ bản mới nhất 2020
Tính đa hình (polymorphism)
- Khi một tác vụ được thực hiện theo nhiều cách không giống nhau được gọi là tính đa hình.
- Đối với tính chất này, nó được thể hiện rõ rệt nhất qua việc gọi phương thức của đối tượng. các phương thức hoàn toàn có khả năng giống nhau, nhưng việc xử lý luồng có thể không giống nhau. Nói cách khác: Tính đa hình bổ sung kĩ năng cho phép người lập trình gọi trước một phương thức của đối tượng mục tiêu, tuy chưa xác định đối tượng có phương thức mong muốn gọi hay không. Đến khi thực hiện (run-time), chương trình mới xác định được đối tượng mục tiêu và gọi phương thức tương ứng của đối tượng đó. liên kết chặt chẽ trễ giúp chương trình được uyển chuyển hơn, chỉ yêu cầu đối tượng cung cấp đúng phương thức thiết yếu là đủ.
- trong Java, chúng ta sử dụng nạp chồng phương thức (method overloading) và ghi đè phương thức (method overriding) để sở hữu tính đa hình.
- Nạp chồng (Overloading): đây chính là khả năng cho phép một lớp có những thuộc tính, phương thức cùng tên tuy nhiên với những tham số khác nhau về loại cũng như về số lượng. Khi được gọi, phụ thuộc tham số truyền vào, phương thức tương ứng sẽ được hành động.
- Ghi đè (Overriding): là hai phương thức cùng tên, cùng tham số, cùng kiểu trả về nhưng thằng con viết lại , sử dụng theo cách của nó, và hiện diện ở lớp cha và tiếp tục hiện diện ở lớp con. Khi dùng override, lúc thực thi, nếu lớp Con không có phương thức riêng, phương thức của lớp Cha sẽ được gọi, ngược lại nếu như có, phương thức của lớp Con được gọi.
Tính trừu tượng (abstraction):
- Tính trừu tượng là một tiến trình ẩn những cụ thể trình khai triển , chỉ hiển thị công dụng tới người sử dụng. Tính trừu tượng cho phép bạn loại bỏ thuộc tính khó khăn của đối tượng bằng cách chỉ đưa ra các tính chất , phương thức thiết yếu của đối tượng trong lập trình.
- Tính trừu tượng giúp bạn tích tụ những cốt lõi thiết yếu của đối tượng mục tiêu thay vì chú ý đến cách nó hành động.
- trong Java, chúng là sử dụng abstract class và abstract interface để có tính trừu tượng.
Ví dụ minh họa
Hãy xem chẳng hạn như bên dưới:
Những thuộc tính của lập trình hướng đối tượng mục tiêu đươc dùng thông qua ví dụ trên:
- Xây dựng abstract class Animal có phương thức sayHello. Abstract class này biểu hiện tính trừu tượng, có nghĩa ta định ra rằng dù là con vật gì đi nữa thì nó cũng có phương thức sayHello.
- Xây dựng 2. lớp Cat và Dog kế thừa từ Animal. Khi khởi tạo chúng sẽ có tên. Chúng override lại phương thức sayHello để chào hỏi theo bí quyết riêng của chúng. việc làm này biểu hiện tính đóng gói (đóng gói biến tên và phương thức sayHello với nhau) và tính thừa kế (Cat và Dog đưa đặc điểm chung là có sayHello từ Animal).
- Tạo lớp Zoo để quản lí nhiều Animal, có (1) phương thức add, remove để thêm, bớt các Animal (các đối tượng mục tiêu của những lớp thừa kế từ Animal), (2) phương thức showListAnimal để gọi sayHello của tất cả đối tượng nó quản lí. việc làm này biểu hiện tính đa hình, Zoo gọi chỉ gọi một phương thức sayHello, nhưng tùy con vật mà lời chào hỏi sẽ khác nhau.
Có thể bạn quan tâm: Bảng xếp hạng mức độ ảnh hưởng của các ngôn ngữ lập trình 2020
Nguồn: https://techtalk.vn/