门户网站建设必要性,建设银行网站上不去了,外国网站签到做任务每月挣钱,浏览器下载安装2023版本C#学习系列之静态成员和静态类 啰嗦静态成员静态类总结 啰嗦
基础学习 静态成员
带有标识为static的字段、方法、属性、构造函数、事件就是静态成员。
class Dog
{static string name;//静态成员}name可以被类的所有实例共享#xff0c;所有实例都访问同一个内存位置。 静态… C#学习系列之静态成员和静态类 啰嗦静态成员静态类总结 啰嗦
基础学习 静态成员
带有标识为static的字段、方法、属性、构造函数、事件就是静态成员。
class Dog
{static string name;//静态成员}name可以被类的所有实例共享所有实例都访问同一个内存位置。 静态成员可直接通过类名访问例如dog.namelili 静态成员独立于任何实例没有实例也可以访问。其初始化语句的任何静态成员使用之前调用。
静态函数成员也是独立于任何实例没有实例也可以调用。 静态函数不能访问实例成员仅能访问其他静态成员。
class Dog
{static public void speak()//静态方法打印静态成员{Console.writeLine(name);}
}静态构造函数初始化对象用于初始化静态字段。和类相同使用static无参数无访问修饰符。
class Dog{static Dog(){//与类同名无参只能访问静态成员namelili;}
}静态字段定义后相当于公共财产使用时当派生类实例化多个使用就会出现访问同一个静态字段的情况如定义静态字段num用于计数实例化多次num就会计数。当然前提需要在函数中出现num的计数计算每次调用就会计数累加。
class Pet
{protected string _name;public Pet(string name){_namename;}
}
class Dog:Pet
{static int num;static Dog(){num0;}public Dog(string name):base(name){num;//只要是Dog那么就是会进行计算。}
}静态类
包含静态的方法和属性标识为static 不能创建实例不能继承可以构造静态构造函数。 用于基础类库例如math中几乎都是静态的和扩展方法。 扩展方法源代码的基础上一种直接添加新方法一种不能修改以派生子类扩展一种使用静态类扩展。
static class Petguide
{public static double HowToFeed(Dog dog)//扩展方法把dog对象传进来{}
}static class Petguide
{public static double HowToFeed(this Dog dog)//加上this{}
}
Dog dognew Dog();
dog.HowToFeed();//用起来就像是本身的方法直接用所属的类必须是static类扩展方法本身必须就是static方法第一个参数类型必须是this类名。 类本身没有相关的方法通过扩展类来实现扩展一些方法。
总结
学习记录 https://www.imooc.com/video/14232 https://www.imooc.com/video/14233