C# 抽象类的使用
来源:互联网 发布:列宁格勒号驱逐舰数据 编辑:程序博客网 时间:2024/05/21 16:26
abstract class myFirst
{
int value_myFirst;
public myFirst(int f)
{
value_myFirst = f;
}
//抽象方法没有方法体,以分号结尾
public abstract void f1();
public void f2()
{
System.Console.WriteLine("myFirst.f2()!");
}
public virtual void f3()
{
System.Console.WriteLine("myFirst.f3()!");
}
}
class mySecond : myFirst
{
int value_mySecond;
public mySecond(int s)
: base(s)
{
value_mySecond = s;
}
//覆盖基类的抽象方法
public override void f1()
{
System.Console.WriteLine("mySecond.f1()!");
}
//覆盖基类的一般方法
public new void f2()
{
System.Console.WriteLine("mySecond.f2()!");
}
//覆盖基类的虚方法
public override void f3()
{
System.Console.WriteLine("mySecond.f3()!");
}
}
class Program
{
static void Main(string[] args)
{
//抽象类和接口不能声明对象
//myFirst mf = new myFirst(1);
mySecond ms = new mySecond(2);
ms.f1();
ms.f2();
ms.f3();
//这里向上转型采用强类型转换的方式
((myFirst)ms).f1();
((myFirst)ms).f2();
((myFirst)ms).f3();
}
}
{
int value_myFirst;
public myFirst(int f)
{
value_myFirst = f;
}
//抽象方法没有方法体,以分号结尾
public abstract void f1();
public void f2()
{
System.Console.WriteLine("myFirst.f2()!");
}
public virtual void f3()
{
System.Console.WriteLine("myFirst.f3()!");
}
}
class mySecond : myFirst
{
int value_mySecond;
public mySecond(int s)
: base(s)
{
value_mySecond = s;
}
//覆盖基类的抽象方法
public override void f1()
{
System.Console.WriteLine("mySecond.f1()!");
}
//覆盖基类的一般方法
public new void f2()
{
System.Console.WriteLine("mySecond.f2()!");
}
//覆盖基类的虚方法
public override void f3()
{
System.Console.WriteLine("mySecond.f3()!");
}
}
class Program
{
static void Main(string[] args)
{
//抽象类和接口不能声明对象
//myFirst mf = new myFirst(1);
mySecond ms = new mySecond(2);
ms.f1();
ms.f2();
ms.f3();
//这里向上转型采用强类型转换的方式
((myFirst)ms).f1();
((myFirst)ms).f2();
((myFirst)ms).f3();
}
}
- C# 抽象类的使用
- C#多态性-抽象类和抽象方法的使用
- C#中使用抽象类的要求
- C#的抽象类
- C#源代码—演示抽象类与抽象属性的使用,命名空间的使用
- C#的抽象类和抽象方法
- C#中抽象类和接口的区别与使用
- C#中抽象类和接口的区别与使用
- C#中抽象类和接口的区别与使用
- C#中抽象类和接口的区别与使用
- c#中抽象类、接口的使用例子
- C# abstract抽象类的作用(使用场景)
- C#中抽象类和接口的区别与使用
- C#抽象类与抽象方法(抽象类,抽象方法概念,使用)
- 抽象类的使用
- C#接口和抽象类使用原则
- 抽象类与抽象方法的使用
- 抽象类与抽象方法的使用
- Telerik RadAsyncUpload Event OnFileUploaded
- IOS 小技巧积累(持续更新)
- struts的简单工作原理
- MFC菜单的建立
- 13. 第二次跳槽:意料之外的结局 - 上
- C# 抽象类的使用
- MySQL性能优化
- C# 构造函数 例子
- SQL SERVER ISNULL 和NULLIF 以及ISNULL 和IS NULL 的区别
- ppt使用技巧大全
- Timer&Timer Task
- New iPad跑分测试(多图)
- 关于JAVA中内存溢出的解决办法
- CoreSeek快速安装