C#学习教程五
2014-01-12 17:42
387 查看
继承与多态
继承性:即一个类可以派生出新的类而且新的类能够继承基类的成员。
多态性:是指相同的操作方法可作用于多种类型的对象,并获得不同的结果。
隐藏方法:在子类中可以使用与基类的成员相同的名称来声明成员,在这种情形中,在子类不需要访问基类的同名成员,这叫做子类成员隐藏。
实例代码:
效果截图:
虚方法和重写方法
虚方法定义: 如果一个实例方法声明中含有virtual修饰符,则称该方法为虚方法。若其中没有virtual修饰符,则称该方法为非虚方法。
irtual修饰符不能与static 、abstrace或override修饰符同时使用。
重写方法定义:如果一个实例方法声明中含有override修饰符,则称该方法为重写方法。
override修饰符不能与new 、static、或virtual修饰符同时使用。重写方法只能用于重写基类的虚方法。
效果截图:
密封类和密封方法
如果一个类已经没有再继承的必要,或者我们不希望自己编写的类被继承,以避免在理解和使用上的问题,可以将类声明为密封类(sealed Class)
密封类的主要作用:用于防止意外派生。
在非密封类中,如果要防止一个实例成员在子类中被重写,可以将该成员变量声明为密封成员方法(密封还可以包含:密封方法、密封属性、密封索引器、密封事件)
sealed 修饰符总是和override修饰符同时使用。使用sealed修饰符可以防止派生类进一步重写该方法。sealed修饰符不能与abstract修饰符同时使用。
静态类 :静态类的主要特征是不能被实例化,也不能派生子类。
继承性:即一个类可以派生出新的类而且新的类能够继承基类的成员。
多态性:是指相同的操作方法可作用于多种类型的对象,并获得不同的结果。
隐藏方法:在子类中可以使用与基类的成员相同的名称来声明成员,在这种情形中,在子类不需要访问基类的同名成员,这叫做子类成员隐藏。
实例代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Hello_World { public class Conversion { public static void Main(string[] args) { Derived.G(); More.H(); } class Base { public static void F() { Console.WriteLine("Base 类的F()方法"); } } //C#继承 class Derived : Base { //隐藏方法 //隐藏Base类的F()方法 new private static void F() { Console.WriteLine("Derived类的F()方法"); } public static void G() { F();//调用 Derived类的F()方法,隐藏Base类的F()方法 } } class More : Derived { public static void H() { F();//调用Base类的F()方法 } } } }
效果截图:
虚方法和重写方法
虚方法定义: 如果一个实例方法声明中含有virtual修饰符,则称该方法为虚方法。若其中没有virtual修饰符,则称该方法为非虚方法。
irtual修饰符不能与static 、abstrace或override修饰符同时使用。
重写方法定义:如果一个实例方法声明中含有override修饰符,则称该方法为重写方法。
override修饰符不能与new 、static、或virtual修饰符同时使用。重写方法只能用于重写基类的虚方法。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Hello_World { public class Conversion { public static void Main(string[] args) { Base a=new Base(); Derived b = new Derived(); //多态 Base c = b; a.F(); b.F(); c.F(); } //Base--------- 虚方法 class Base { public virtual void F() { Console.WriteLine("Base 虚方法"); } } //C#继承 class Derived : Base { //重写方法 public override void F() { Console.WriteLine("Derived类重写Base虚方法"); } } } }
效果截图:
密封类和密封方法
如果一个类已经没有再继承的必要,或者我们不希望自己编写的类被继承,以避免在理解和使用上的问题,可以将类声明为密封类(sealed Class)
密封类的主要作用:用于防止意外派生。
在非密封类中,如果要防止一个实例成员在子类中被重写,可以将该成员变量声明为密封成员方法(密封还可以包含:密封方法、密封属性、密封索引器、密封事件)
sealed 修饰符总是和override修饰符同时使用。使用sealed修饰符可以防止派生类进一步重写该方法。sealed修饰符不能与abstract修饰符同时使用。
静态类 :静态类的主要特征是不能被实例化,也不能派生子类。
相关文章推荐
- c# 正则判断字符串是不是都是数字
- C#中判断字符串中是否有汉字及将汉字转化为字母缩写
- C#学习教程之四
- C# 释放非托管资源
- 用PV操作解决经典进程同步问题 C#实现
- C#序列化和反序列化
- C#学习教程之三
- C# 清除coockies
- C# 学习教程之二
- C# 学习教程之一
- C#语言的新特性及相关信息
- .net(C#)命名规范
- C# DataGridView控件清空数据完美解决方法
- 《和小雷一起学开发》 之 C#的国际化方法
- c#制作屏幕保护程序步骤(字幕屏保)
- C# 实现将一个文本文档按行数分成多个文档
- C# 记录,未整理
- 使用C#开发屏幕保护程序步骤
- 纯C#实现屏幕指定区域截屏
- C#三种判断字符是否为汉字的方法