虚方法实现多态 C#中的5种访问修饰符
作者:网络转载 发布时间:[ 2013/7/3 11:14:46 ] 推荐标签:
多态面向对象的主要特征之一可以实现相同代码不同情况下实现不一样的功能
虚方法实现多态
父类声明方法时加 virtual关键字表示这是一个虚方法
子类声明方法时加override关键字表示这个方法是重写父类中的虚方法
声明对象时 使用父类类型 声明对象变量 使用子类类型 构造对象
class Person //声明Person类
{
public Person(string name) //声明构造函数
{
this.Name = name;
}
public string Name { get; set; } //声明属性
public virtual void Show() //用virtual关键字声明方法 表示这是一个虚方法可以被子类重写
{
Console.WriteLine("我是父类虚方法!");
}
}
class Chinese:Person //声明Chinese类并且继承自Person类
{
public Chinese(string name):base(name) //调用父类构造函数
{
}
public override void Show() //用override关键字重写父类中的方法
{
Console.WriteLine("我是中国人 我叫:{0}",Name);
}
}
Person en = new Chinese("某某某");
en.Show();
Console.ReadKey();
en在调用Show方法是 程序会自动判断子类中的Show方法有没有被重写 被重写则调用子类方法 如果没有重写调用父类中的Show方法
C#中的5种访问修饰符
private 私有访问修饰符,只能在类内部访问该修饰符修饰的类成员(类不能被标记为私有的)
internal 内部访问修饰符,只能在程序级内部访问该修饰符修饰的类(新建类如果不加修饰符默认为internal修饰符修饰)
protected 保护访问修饰符,只能在本类或者继承自本类的子类中才能被访问
protected internal 保护+内部 访问修饰符,在程序集内部或者继承自本类的子类中才能被访问
public 共有访问修饰符,在程序的任何地方都能访问
使用反射等方法可以访问私有 内部 保护等修饰符修饰的类或成员属性
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11