你舉例的這句代碼,其實是很無聊的,可以說毫無意義:
1.如果基類本身沒有Name字段或屬性,那麽你把子類對象m1强制視爲基類對象,就會出現基類沒有相關字段或屬性的錯誤;
2.如果子類已繼承有Name,那麽就不需要這樣轉換看法;
3.如果基類有Name字段或屬性,但子類沒有繼承,這樣這個代碼才有絲毫意義,但這又違反了類原則,屬於侵入它類内部讀寫數據的問題,因爲該子類既然沒有繼承這個東西,必定有其考慮,你這樣做是無視原先的設計,并假設自己很瞭解基類的内部構造,强行寫入本對象沒有分配空間的數據,過後這個m1對象將仍然找不到這個值。我沒測試過這種寫法到底有什麽現象,但絕對不會寫出這樣的代碼,所以不需要考究它的後果,不會深入探究。