C#的基本概念

来源:互联网 发布:excel数据分析pdf 编辑:程序博客网 时间:2024/04/28 09:14
 
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 接口的派生类必须实现接口的所有方法

原创粉丝点击