tailieunhanh - Kỹ thuật lập trình: Quan hệ lớp là gì? phần 3

Chuyển ₫ổi kiểu ₫ối tượng Một ₫ối tượng hay con trỏ, hoặc tham chiếu ₫ối tượng kiểu lớp dẫn xuất sẽ có thể ₫ược chuyển ₫ổi kiểu tự nhiên. | class Y public X private int y1 public int y2 int xy Y int d int e int f int g int h X d e f y1 g y2 xy h void func2 int int void Y func2 int m int n int a b x1 m Error x1 is private in the basic class X x2 m x3 m xy m X xy m xy m y1 n y2 n Chương 7 Quan hệ lớp 2007 AC - HUT func1 a b OK X func1 . X func2 a b OK X func2 . func2 a b void f const int a 12 Y objY 3 4 5 6 7 a Error x1 is private a Error x2 is protected a a a Error y1 is private a xy a a a a a Chương 7 Quan hệ lớp 2007 AC - HUT Chuyển đổi kiểu đối tượng Một đối tượng hay con trỏ hoặc tham chiếu đối tượng kiểu lóp dẫn xuất sẽ có thể được chuyển đổi kiểu tự động về kiểu lóp cơ sở nếu được kế thừa public nhưng không đảm bảo theo chiều ngược. Ví dụ class X . X . . . class Y public X . Y . X . . . X objX . Y objY . X xp objX OK X xp objY OK Y yp objX Error Y yp Y objX OK but not guaranteed Chuyển đổi kiểu tự động cho đối tượng có kiểu lóp cơ sở sang kiểu lóp dẫn xuất sẽ không thể thực hiện vì không đảm bảo được quyền truy nhập của các thành viên của lóp cơ sở chắc chắn không được nếu kế thừa private. Chương 7 Quan hệ lớp 2007 AC - .