Đặc điểm trong OOP
- Inheritance(tính thừa kế) :
+ Cho phép lớp con thừa hưởng những thuộc tính và phương thức của lớp mà nó kế thừa. Lớp thừa kế có thể là lớp trừu tượng hoặc đơn giản chỉ là một lớp bình thường . Tùy theo ngôn ngữ lập trình , 1 con có thể nhiều cha hay chỉ 1 cha . Trong Java , C# không cho phép đa kế thừa .
- Encapsolution(tính bao đóng) :
+ Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng . Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó . Việc cho phép môi trường ngoài tác động lên dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã . Đây là tính chất đảm bảo sự toàn vẹn của đối tượng
+ Tính chất này không cho phép người sử dụng các đối tượng thay đổi trạng thái nội tại của một đối tượng . Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó . Việc cho phép môi trường ngoài tác động lên dữ liệu nội tại của một đối tượng theo cách nào là hoàn toàn tùy thuộc vào người viết mã . Đây là tính chất đảm bảo sự toàn vẹn của đối tượng
- Abstraction(tính trừu tượng) :
+ Không thể khởi tạo đối tượng từ lớp trừu tượng
+ Lớp trừu tượng chứa một hoặc nhiều hàm trừu tượng . Tuy nhiên không có hàm trừu tượng vẫn khai báo lớp trừu tượng.
+ Một lớp chứa hàm trừu tượng thì lớp đó phải là lớp trừu tượng
+Một lớp thừa kế lớp trừu tượng phải hiện thực tất cả các hàm trừu tượng hoặc lớp đó là lớp trừu tượng.
(hàm trừu tượng là hàm chỉ khai báo tên hàm , kiểu trả về , access modifier và không có nội dung hàm.)
+ Không thể khởi tạo đối tượng từ lớp trừu tượng
+ Lớp trừu tượng chứa một hoặc nhiều hàm trừu tượng . Tuy nhiên không có hàm trừu tượng vẫn khai báo lớp trừu tượng.
+ Một lớp chứa hàm trừu tượng thì lớp đó phải là lớp trừu tượng
+Một lớp thừa kế lớp trừu tượng phải hiện thực tất cả các hàm trừu tượng hoặc lớp đó là lớp trừu tượng.
(hàm trừu tượng là hàm chỉ khai báo tên hàm , kiểu trả về , access modifier và không có nội dung hàm.)
- Polymorphism(tính đa hình) :
+ Tính này được thể hiện ở đặc điểm overloading(nạp chồng) và
overriding(nạp chồng) .
+ Overloading : nghĩa là ta có nhiều phương thức có cùng tên nhưng tham số truyền vào là khác nhau(khác về kiểu dữ liệu , số lượng tham số và thứ tự tham số)
+ Overriding : ta viết lại phương thức có chức năng cụ thể khi kế thừa lại phương thức này từ lớp cha . Điều này có nghĩa với việc phương thức con kế thừa phải cùng kiểu dữ liệu và số lượng tham số truyền vào như của lớp cha . Lúc thực thi , nếu con kế thừa cha mà không override lạ phương thức của cha ,thì phương thức lớp cha được gọi hoặc ngược lại.
+ Tính này được thể hiện ở đặc điểm overloading(nạp chồng) và
overriding(nạp chồng) .
+ Overloading : nghĩa là ta có nhiều phương thức có cùng tên nhưng tham số truyền vào là khác nhau(khác về kiểu dữ liệu , số lượng tham số và thứ tự tham số)
+ Overriding : ta viết lại phương thức có chức năng cụ thể khi kế thừa lại phương thức này từ lớp cha . Điều này có nghĩa với việc phương thức con kế thừa phải cùng kiểu dữ liệu và số lượng tham số truyền vào như của lớp cha . Lúc thực thi , nếu con kế thừa cha mà không override lạ phương thức của cha ,thì phương thức lớp cha được gọi hoặc ngược lại.

Nhận xét
Đăng nhận xét