Upcasting và downcasting:
Upcasting: Đúc từ nguồn gốc-Class để Base Class downcasting: Đúc từ Base class class nguồn gốc
Hãy hiểu giống như một ví dụ:
Hãy xem xét hai lớp Shape như lớp cha của tôi và Circle như một lớp Derived, được xác định như sau:
class Shape
{
public int Width { get; set; }
public int Height { get; set; }
}
class Circle : Shape
{
public int Radius { get; set; }
public bool FillColor { get; set; }
}
Upcasting:
Shape s = new Shape();
Vòng tròn c = s; Cả hai c và s đều tham chiếu đến cùng một vị trí bộ nhớ, nhưng cả hai đều có quan điểm khác nhau, sử dụng tham chiếu "c", bạn có thể truy cập tất cả các thuộc tính của lớp cơ sở và lớp dẫn xuất, nhưng sử dụng tham chiếu "s" bạn có thể truy cập các thuộc tính của lớp cha duy nhất.
Một ví dụ thực tế của upcasting là lớp Suối đó là baseclass của tất cả các loại đầu đọc dòng net framework:
đọc StreamReader = new StreamReader (mới FileStreamReader());
tại đây, FileStreamReader() được upcasted thành streadm reder.
downcasting:
Shape s = new Circle(); ở đây như được giải thích ở trên, quan điểm của s là cha mẹ duy nhất, để làm cho nó cho cả cha và con chúng ta cần downcast nó
var c = (Circle) s;
Ví dụ thực tế về Downcasting là lớp nút của WPF.
Hy vọng bạn không phiền, tôi đã sửa "lỗi cú pháp" trong câu hỏi của bạn;) – RCIX
xin lỗi tôi hơi nghèo bằng tiếng Anh – user184805
Không sao đâu! – RCIX