亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個很簡單的基類賦值的疑惑

一個很簡單的基類賦值的疑惑

躍然一笑 2018-12-06 19:09:36
大家先看一段簡單的代碼,我想實現的是基類簡單賦值,而不是考屬性一個個的來賦值。 public class A { public int p1 { get; set; } } public class B : A { public B(A data) { base = data; } } 注意到base=data 這里的時候是錯誤的,編譯也不通過,請問大家這是為什么呢?base的具體含義究竟是什么。請問大家有什么解決的辦法沒(如果是base.p1 = data.p1就算了,屬性太多的時候就繁瑣了)。 ? ?
查看完整描述

5 回答

?
holdtom

TA貢獻1805條經驗 獲得超10個贊

兄弟 你要改變它什么,既然是子類,已經是完全繼承了,你為什么還要給父類賦值呢?不好也不規范

查看完整回答
反對 回復 2019-01-21
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

子類初始化的時候事實上就初始化了父類的值,給父類賦值為了減少代碼量
查看完整回答
反對 回復 2019-01-21
?
森欄

TA貢獻1810條經驗 獲得超5個贊

先回答樓主的問題,再評論樓主的做法。

1、注意到base=data 這里的時候是錯誤的,編譯也不通過,請問大家這是為什么呢?base的具體含義究竟是什么?

因為base代表的是基類,data是實例,把實例覆給類就好比B=new B()一樣,顯然是不行的。

2、請問大家有什么解決的辦法沒?

就用你說算了的方法。

不知道樓主有沒有注意到,public B(A data)中data產生的時候你是要對它進行一次屬性賦值的,也就是說對A的屬性一個個賦值你是無法避免的。

查看完整回答
反對 回復 2019-01-21
  • 5 回答
  • 0 關注
  • 313 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號