C#:抽象类的学习
2005-05-02 12:58
274 查看
using System;
public class A
{
public int x;
public void m(){
Console.WriteLine("A.m()");
}
public virtual void w()//表示抽象方法,子类可以重写,也可以用abstract,但是用这个的时候类A不能生成实例,必须继承实现A
{
Console.WriteLine("W() in class A");
}
}
public class B:A
{
public new int x;
public new void m()//隐藏父类的方法
{
Console.WriteLine("hide B.m()");
}
public static void Main()
{
A a=new A();
a.m();
a.w();
B b=new B();
b.m();
b.w();
Console.WriteLine("Main");
}
public override void w()
{
int [,] xx=new int [2,2]{{1,2},{3,4}};
foreach(int x in xx)
Console.Write(" {0}",x);
int [][] xxx=new int [2][]{new int []{1,2},new int []{3,4}};
foreach(int[] x in xxx)
Console.Write(" {0}",x);
Console.WriteLine("W() overrided in class B");
}
}
public class A
{
public int x;
public void m(){
Console.WriteLine("A.m()");
}
public virtual void w()//表示抽象方法,子类可以重写,也可以用abstract,但是用这个的时候类A不能生成实例,必须继承实现A
{
Console.WriteLine("W() in class A");
}
}
public class B:A
{
public new int x;
public new void m()//隐藏父类的方法
{
Console.WriteLine("hide B.m()");
}
public static void Main()
{
A a=new A();
a.m();
a.w();
B b=new B();
b.m();
b.w();
Console.WriteLine("Main");
}
public override void w()
{
int [,] xx=new int [2,2]{{1,2},{3,4}};
foreach(int x in xx)
Console.Write(" {0}",x);
int [][] xxx=new int [2][]{new int []{1,2},new int []{3,4}};
foreach(int[] x in xxx)
Console.Write(" {0}",x);
Console.WriteLine("W() overrided in class B");
}
}
相关文章推荐
- Unity学习之路——C# 位操作、Flags、接口、抽象类
- C#温故而知新学习系列之面向对象编程—接口和抽象类的区别是什么?(十八)
- C#学习之接口和抽象类
- C#面象对象学习:接口与抽象类
- c#学习笔记七 接口和抽象类对比
- C#学习笔记之——抽象类、静态类和单例
- .Net学习笔记----2015-07-21(C#基础复习03,简单工厂和抽象类)
- C# 学习笔记 -- 抽象类和多态
- C#学习--抽象类和方法
- C++与C#对比学习:面向对象,接口,抽象类
- c#接口和抽象类对比学习
- 学习:c#中抽象类和接口的相同点跟区别(转)
- 轻松学习C#的抽象类
- C#回顾学习笔记三十一:抽象类与抽象方法
- C# 中抽象类和接口的学习
- C#学习第十一天 实现多态:虚方法、抽象类
- C#学习笔记(三):抽象类和接口
- 黑马程序员之C# 学习笔记:抽象类和接口的区别
- C#学习笔记(二):继承、接口和抽象类
- .Net C#(类的继承/虚函数/抽象函数/密封类/静态类/抽象类)——学习笔记