1.接口和抽象类
接口用于规范,抽象类用于共性;
接口中只能声明方法、属性、事件等,抽象类可以有方法的实现,也可定义非静态的类变量;
抽象类是类只能被单继承,但接口可以一次实现多个;
抽象类可以实现某些方法的部分实现,接口不可以;
抽象类的实例是 它的子类给出的,接口的实现是实现接口的类给出的。
在抽象类中加入一个方法,它的子类就同事有了这个方法,而在接口中加入这个方法,实现接口的类就要重新编写。
2.多态:让一个对象能够表现出多种的状态。
实现多态的3种方法:虚方法、抽象类、接口;将父类标记为虚方法virtual,这个函数可以被子类重新写一遍;当父类的方法不止如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法。
3.斜杠问题
../ 上一级目录 /网址或URL 本地路径
4.C#静态成员
通过static修饰属于类;类第一次加载的时候,类下面的所有静态成员会被加载;静态成员只被创建一次,所以静态成员只有一份;类加载的时候,所有静态成员会被创建在“静态存储区”,一旦创建直到程序退出才被回收;
变量被共享是,方法要反复被调用时,可以把成员定义成静态成员;静态方法不能直接调用示例成员,因为静态方法被调用的时候,对象还有可能不存在;静态成员和示例成员声明周期不一样,内存中存储的位置不一样;被static修饰的类,只有静态成员,最大特点就是共享。
5.写日志
private void WriteLog(string msg) { string path = @"D:log.txt"; using(StreamWrite sw = new StreamWrite(path,true)){ sw.WriteLine(DateTime.Now.ToString()+""+msg);} }
6.静态类有 File Directory Path Console