C#的基本概念

 

代理:代理的本质是对另一个类中的函数的引用,可以分排和使用函数而无需知道它来自哪个类,只要函数满足同样的接口就可以

 

C#中任何事物都看作对象。

 

受管语言被编译成中间低层语言,使用通用语言运时(CLR)执行编译后的代码,或是进一步编译这些代码

受管语言都是垃圾自动收集的。垃圾自动收集语言负责释放不用的内存,当变量,数组或对象被检测不再被引用,就把相应的内存空间释放回系统

 

每个控件基本上都被声明为一个变量,并被添加到一个容器里。

 

C#中变量和类方法可以声明为:

Public ;可以被其他类访问

Private:没有声明默认形式,只能在类内部访问

Protected:在类和其派生类里访问

通常将所有的类变量声明为私有的,并且编写getxxx,setxxx访问函数来设置和获取数据。 实现封装原理,尽量不要让类中的变量在类外直接被访问。

 

若干个名字相同的方法,只要这些方法有不同的调用参数,实现重载—多态

 

Virtual 和 override

如果基类中有一个方法,而想在派生类中覆盖它,应该把基类中的方法声明为Virtual,它的含义是,让派生类里具有同样名字和参数标识的方法被调用,而不是调用基类中的方法。在派生类中必须用override关键字声明该方法。

基类

派生类

是否出错

Virtual

override

否,执行派生类的

无Virtual

override

出错

Virtual

无override

出错

无Virtual

无override

否,警告,执行派生类

 

当不能把基类方法声明为Virtual时,另外一种取代基类中方法的方式是在派生类中声明方法时使用NEW关键字,这样可以有效的隐藏基类中同一名称的方法。

例如:public new void xxxx(){}

 

Abstract 抽象类

1 抽象方法必须在抽象类里

2 抽象类里的方法不需要都是抽象方法,但至少要有一个抽象方法。

3 抽象类不可以被实例化,只能产生派生类。

4 一个抽象类的方法都是抽象方法,则该类不能被继承,也不能继承其他类层次结构。

5 接口的派生类必须实现接口的所有方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值