黑马程序员--第二季面向对象笔记

本文详细解析了C#中public字段与属性的区别,包括类型赋值时的引用传递、基类与子类之间的转换、成员变量重名的处理等关键概念。同时,文章还介绍了隐式转换与显式转换的概念,并通过示例展示了如何进行类型转换。

---------------------- WinPhone7培训.NET培训、期待与您交流! ----------------------

 

public字段和属性的区别:属性里面可以限制非法值的输入(if条件),在属性里面进行判断.

 

值类型赋值时,传递的是拷贝...引用类型的赋值,传递的是引用,只是添加了指针的指向....

无法将基类显式的转换为其子类,可以将其子类隐式转换为基类,此时转换的基类不可调用子类的自己成员方法,只能调用基类的成员方法.
如果子类与基类的成员变量重名,使用new关键词隐藏基类的成员变量,如果在子类需要访问基类的重名变量,可以在变量前加base引用。

 

隐式转换、显式转换。当目标类型一定能满足源类型转换过去后的要求的话就是隐式转换;如果当目标类型不一定能满足源类型转换过去后的要求的话就需要显式转换(程序员自己负责)。


?? 把中国人转换为人是隐式转换,把人转换为中国人则是显式转换(强制转换)
?? 内存中的数据没有变化,只是不同的视角而已。


只有在内存存储上存在交集的类型之间才能进行Cast,否则则不可以,比如不可以int i;string s=(string)i;反之也不可以。这种情况必须用Convert类提供的方法。

()转换和as 转换区别:如果转换失败,()会报异常,而as则会返回null。Person p=new Chinese();Chinese ch=p as Chinese||(Chinese)p;

对于派生类,其创建实例对象时,先运行基类的构造函数,再运行自身的构造函数.

 

----------------------WinPhone7培训.NET培训、期待与您交流! ---------------------- 详细请查看:http://edu.youkuaiyun.com/heima

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值