第三章知识点归纳

王朝学院·作者佚名  2016-05-20
窄屏简体版  字體: |||超大  

第三章知识点归纳1.对象初始化器

在调用构造函数时直接初始化对象。

public class Student{ public string Name; public int Age; public bool Gender;}Student stu=new Student{Name="zhangsan",Age=10,Gender=false};

等同于:

Student stu=new Student();stu.Name="zhangsan";stu.Age=10;stu.Gender=false;

2.this 和 base

this 是引用类实例自身。

public class Student{ string name; public Test(string name){this.name=name;}}

base作用 : 1. 从子类访问重载的基类方法成员 2.调用基类的构造方法

引用书上的例子:

public class Asset{ public string name; public virtual decimal Liability{ get { return 0; } }}public class Home : Asset{ public decimal Mortgage; public override decimal Liability { get { return base.Liability + Mortgage; } }}

3.装箱和拆箱

装箱是将值类型转换为引用类型。

int num=10;

object obj = x; //把int类型装箱

拆箱是讲引用类型转换为值类型。

object obj = 10;

int num= (int)obj;

装箱和拆箱的实质是复制:装箱是把值类型的实例复制到新对象中,拆箱是把对象的内容复制回数值类型的实例中。

4. 协变和逆变

协变:假定A是B的子类,如果C<A>可以引用转化成C<B>,那么称C为协变类。

IAbc<string> a = ... ;

IAbc<object> b = a;

IAbc<T> 是协变类。

逆变:假定A是B的子类,如果C<B>可以引用转化成C<A>,那么称C为逆变类。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航