您的位置:首页 > 其它

对关键字abstract、new、virtual、override、sealed的温习笔记

2010-08-12 09:52 441 查看
代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
/*实例化派生类对象*/
pr p = new pr();
/*调用重写的虚函数*/
Console.Write(p.show()+"\r\n");

Console.Write(p.get()+"\r\n");
Console.Write(p.set());
Console.ReadLine();
}
}
/*定义抽象类*/
abstract class pro
{
/*定义虚函数方法*/
public virtual string show()
{
return "123";
}

/*定义抽象方法*/
public abstract string get();

public string set()
{
return "145";
}
}

/*定义派生类*/
class pr : pro
{
/*重写虚函数方法*/
public override string show()
{
return "456";
}
/*重写抽象方法*/
public override string get()
{
return "789";
}

/*隐藏基类方法*/
public new string set()
{
return "0";
}
}
}
下面是相应的运行结果



学习总结:

1.abstract(抽象类)可以被单继承,但不可以被实例化,抽象类内部可以定义虚函数,抽象函数等,函数可以给出定义,可以没有被实现,也可以实现;在派生类中,必须实现抽象类中没有被实现的方法

2.new 作用是隐藏基类中同名的方法,可以在派生类中不加上,但编译时会给出警告

3.virtual(虚方法),override(重写),是联合起来使用的,override只能对抽象方法和虚方法进行重写

4.sealed(封闭方法、类的标志),封闭类及封闭方法不可以被重写,不可以被继承
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: