已采纳回答 / zjuPeco
对的。若在类Dog.cs中写下<...code...>则在static void Main(string[] args)中可用<...code...>实现狗到猫的隐式类型转换。若在类Cat.cs中写下<...code...>则在static void Main(string[] args)中可用<...code...>实现猫到狗的显示转换。
2017-03-11
最赞回答 / 零零拾
类使对象的模板 通过类可以实例化出对象 这样已经很完美了 但是如果设计基类却成了非常讲究技巧的事情 如果基类设计的过于繁重就会影响通用性 如果基类设计的过于简单 将会使代码变得复杂 此时就该接口出场了 接口往往代表着一种能力 推荐把接口明明城动词 比如说 定义一个基类叫动物 猫继承了动物 然后在定义接口吃/泡/叫等等 这样以后有什么其他的类出现了 比如外星人 可能并不是动物 但是他可能会跑 这样就能直接实现这个接口 最主要的使可以直接要求外星人跑 而不需要进行单独的处理 常见的应用也很多 比如,事件监听,...
2017-03-10
最赞回答 / 慕粉1717395010
如果是new,那你用基类声明一个子类的变量时,他不会调用子类new的方法,而是调用基类的方法,”E:Pet cat1=new Cat("Tom"); “ cat1.Speaking仍是调用基类的Speaking; 如果是用虚方法,“E:Pet cat2=new Cat("Tom"); ” ,cat2.Speaking调用的就是派生类的Speaking;不知道我讲的你能懂不,我也是刚学的。
2017-03-05
已采纳回答 / 天再高又怎样
刚百度了一下,var可以替代任何类型,但必须在定义时初始化,即<...code...>,都可以的,在编译时var声明的类型将会根据赋值语句自动判定,分别判定为int,char,string。所以自己写方便,但是别人读起来麻烦。我回顾了课程老师在泛型中用到 <...code...> 我也是初学,读不懂var替代的是什么类型,所以我猜不清楚的类型所以就用var呗,哈哈
2017-02-28
讲师回答 / kong66
new是隐藏父类方法,override是重载父类方法,区别就在调用的时候。如果父类类引用到派生类对象,通过父类引用去调用隐藏方法(new的),则调用基类方法;如果调用override同名方法,则调用的是派生类方法。
2017-02-28