Using protected Instance Variables

Một phần của tài liệu Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 3 potx (Trang 66 - 68)

Using protected Instance Variables

Nếu khai báo các thuộc tính của 1 lớp là public không hạn chế việc truy xuất  dễ lỗi và theo quan không hạn chế việc truy xuất  dễ lỗi và theo quan điểm software engineering là không tốt.

Nếu các thuộc tính được khai báo là protected thì chỉ có các lớp dẫn xuất mới truy xuất trực tiếp và chỉ có các lớp dẫn xuất mới truy xuất trực tiếp và không cần phải gọi các accessor set hay get của property

Ví dụ: để cho phép lớp dẫn xuất

BasePlusCommissionEmployee2 truy xuất trực tiếp đến các thuộc tính lớp cơ sở đến các thuộc tính lớp cơ sở

Bất lợi khi sử dụng protectedBất lợi khi sử dụng protected Bất lợi khi sử dụng protected

Vì đối tượng lớp suy dẫn có thể đặt 1 cách trực tiếp giá trị của thuộc tính kế thừa mà không sử dụng accessor set của property có thể gán giá trị không phù hợp, làm cho đối tượng ở trạng thái inconsistent.

Ví dụ: có thể gán giá trị âm cho grossSales

Theo nguyên tắc lớp suy dẫn chỉ nên phụ thuộc vào các dịch vụ của lớp sơ sở không nên phụ thuộc vào việc

thực thi dữ liệu của lớp cơ sở. Với các thuộc tính

protected, các method của lớp suy dẫn có thể phụ thuộc vào việc thực thi dữ liệu của lớp cơ sở, nếu thuộc tính protected của lớp cơ sở thay đổi thì tất cả các lớp suy dẫn cũng phải thay đổi theo hiện tượng fragile hay brittle vì 1 thay đổi nhỏ trong lớp cơ sở có thể “break” việc thực thi lớp suy dẫn.

Một phần của tài liệu Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 3 potx (Trang 66 - 68)

Tải bản đầy đủ (PPT)

(118 trang)