考慮我們有三個類從基部CLASSE繼承,形狀,其基類和其它兩個類圓和文本(形狀)上溯造型&向下轉換在C#
Shape.cs
namespace ObjectOriented
{
public class Shape
{
public int Height { get; set; }
public int Width { get; set; }
public int X { get; set; }
public int Y { get; set; }
public void Draw()
{
}
}
}
Text.cs
using System;
namespace ObjectOriented
{
public class Text : Shape
{
public string FontType { get; set; }
public int FontSize { get; set; }
public void Weirdo()
{
Console.WriteLine("Weird stuff");
}
}
}
Circle.cs
namespace ObjectOriented
{
public class Circle : Shape
{
}
}
大家都知道,上溯造型總是成功的,我們從子類引用創建一個基類的引用
Text txt = new Text();
Shape shape = txt //upcast
和向下轉換可能會拋出和InvalidCastException的例如
Text txt = new Text();
Shape shape = txt; //upcast
Circle c = (Circle)shape; //DownCast InvalidCastException
什麼我」我感到困惑的是,我們可能需要上/下投與對象的情況/案例是什麼?
你想提一下現實世界中使用上傳和向下轉換的例子嗎?謝謝 –
很好的答案。寫得好。 – Enigmativity