- Beginning C# 7 Hands-On:Advanced Language Features
- Tom Owsiak
- 212字
- 2021-07-02 15:29:19
Downcasting
Now, we will talk about downcasting, which means going from, for example, a parent type to a child type. Enter the following between a set of curly braces below this line:
sampLabel.Text += ((Square)lst[0]).Perimeter();
Now, beneath the closed curly brace after the preceding line, enter the following:
else if(lst[0] is Rectangle)
Then, you can call the following code; so, copy the sampLabel.Text... line and paste it between a set of curly braces:
sampLabel.Text += ((Rectangle)lst[0]).Perimeter();
Be sure to change Square to Rectangle, so that it gets cast down to a rectangle, and then the Perimeter function on the rectangle will be called. When you hover your mouse over Perimeter in the preceding two lines, the popups show string Square.Perimeter() and string Square.Perimeter(), respectively. If you removed (Rectangle) from the preceding line and hovered your mouse over Perimeter, the popup will show string Quad.Perimeter(). Do you understand? This is why I have the cast: because it changes the way the functions are recognized.
This is downcasting from a parent to a child class. So, when we talk about bulk actions, you cannot cast to a parent class, perform a bulk action like a sort, or if you want to add refinements called child classes and child class objects, then you can downcast.
- Learning Real-time Processing with Spark Streaming
- Windows系統管理與服務配置
- 區塊鏈架構與實現:Cosmos詳解
- Java程序設計與計算思維
- 云原生Spring實戰
- Mastering Julia
- PHP 編程從入門到實踐
- HTML5入門經典
- Hands-On Swift 5 Microservices Development
- Mastering Ext JS
- 微信小程序入門指南
- Clojure Reactive Programming
- LabVIEW虛擬儀器入門與測控應用100例
- Python數據可視化之美:專業圖表繪制指南(全彩)
- 從程序員角度學習數據庫技術(藍橋杯軟件大賽培訓教材-Java方向)