外文网站字体,天津个人网站备案查询,什么搜索引擎搜索最全,wordpress添加页面模板所有的类都派生自Object;派生类引用可以转换成基类#xff1b;屏蔽基类成员使用关键字new则可以屏蔽基类成员#xff1b;虚方法和覆写方法基类的方法被标记为virtual 在派生类中有匹配的override方法 For Example#xff1a; class MyBaseClass{ Virtual public void printf…所有的类都派生自Object;派生类引用可以转换成基类屏蔽基类成员使用关键字new则可以屏蔽基类成员虚方法和覆写方法 基类的方法被标记为virtual 在派生类中有匹配的override方法 For Example class MyBaseClass{ Virtual public void printf(){ Console.WriteLine(“Fuck”);} } class MyDerived:MybaseClass{ Override public void printf(){ Console.WriteLine(“Fuck Again”) } Class Pargram{ Static void Main(){ MyDerived derived new MyDerived(); MyBaseClass mybc (MyBaseClass)derived; Derived.printf(); Mybc.printf(); }} 结果输出 Fuck Again Fuck Again 结论在覆写后无论有多少继承都是显示最高级别的派生类由基类一直传递。而使用new可以屏蔽基类则override无法覆盖到。但基类必须由派生类转换过来。 访问级别Public所有的类包括程序集内部的类和外部的类和外部的类都可以自由地访问成员。 Private只能被它自己的类的成员访问。它不能被其他的类访问包括继承它的类。 Protected如同访问private访问级别除了一点它允许派生自该类的类访问该成员。 Internal内部成员同一程序集内部的所有类成员都可见程序集外部类成员不可见。 Protected internal:对所有继承该类的成员或在该程序集内部的类可以访问。 抽象成员:指设计为覆写的函数成员特征 ①必须是一个函数成员。也就是说字段和常量不能为抽象成员 ②必须用abstract修饰符标记 ③不能有代码块。抽象成员的代码用分号表示。 ④必须被覆写使用override。 可以声明的4个类型方法属性事件索引。 抽象类指被继承的类只能作为其他继承类的基类。抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通实现的成员的任意组合。不能创建抽象类的实例。并且继承抽象的必须覆写。例 abstract class base{ Public void printfbase(){ Console.Write(“I am your father!”);} Abstract void printfderived(); } class derivedclass:base{ Override printfderived(){ Console.Write(“I am your father too!”);} Class prograg{ Static void main(){ Baseclass basenew baseclass(); Derivedclass dcnew derivedclass(); Base.printfbase(); Dc.printfderived();} } 输出 I am your father! I am your father too 8.密封类sealed 只能被用作独立的类不能作为基类。 9.拓展方法声明拓展的方法必须声明static拓展方法本身必须声明static。拓展方法必须包含关键字this作为第一个参数类型。 Fox Example: Namaspace ex{ Sealed class MyData{ private double D1,D2,D3; Public MyData(double d1,double d2,double d3){ D1d1; D2d2; D3d3;} Public double sum(){ Return D1D2D3;} Static class ExtenMyData{ Public static double Average(this MyData data){ return data.sum/3;} } Class Pragram{ Static void main(){ MyData datanew MyData(3,4,5); Console.WriteLine(“Sum is :{0}”,MyData.sum); Console.WriteLine(“Average is:{0}”,Mydata.Average();} } 命名约定Pascal 约定 标识符每个单词首字母大写 适用于类、方法、命名空间、属性和公共字段 Camel 除了第一个单词其他单词首字母大写 适用于局部变量的名称和方法生命的形参名称 下划线加Camel 以下划线开头的camel大小标识符 适用于私有和受保护的字段转载于:https://www.cnblogs.com/dlvguo/p/9736924.html