C#_partial

partial关键字

partial 示某个类由多个分部类组成,而这些分部类分布于多个独立文件中。

//Form1.cs
namespace DAQ
{
    public partial class Form1 : Form
    {
        ...
    }
}

//Form1.Designer.cs
namespace DAQ
{
    partial class Form1
    {
        ...
    }
}

abstract(声明抽象类)

abstract 声明抽象类抽象方法。所谓的抽象方法,就是不含主体(不提供实现方法),必须由继承者重写。
因此,抽象类不可实例化,只能通过继承被子类重写。一般需要声明抽象类有两种情况:
1.一个类中有抽象方法,那么这个类就是抽象类了。2.这个类不想让人直接实例化,而只让人继承。

namespace INIFILE
{
	///抽象类
    public abstract class CustomIniFile
    {
	...
	//抽象方法
        public abstract string ReadString(string Section, string Ident, string Default);
	...
    }
	
    ///继承子类
    public class IniFile : CustomIniFile
    {	
        public override string ReadString(string Section, string Ident, string Default)
        {
            ...
            return Encoding.Default.GetString(vBuffer, 0, (int)vCount);
        }	
    }
}

virtual的方法

父类中声明的virtual方法,如果子类没有重写这个virtual方法,它会调用父类的virtual方法。
如果子类重写了父类的方法,那么父类的virtual方法不会运行,而是运行子类重写的方法。
当然子类即使重写了父类的方法,也可以用base.来调用父类的方法。

namespace INIFILE
{
    ///抽象类
    public abstract class CustomIniFile
    {
        //定义virtual方法
        public virtual bool SectionExists(string Section)
        {
            ...
            return vStrings.Contains(Section);
        }
    }
	
    ///继承子类
    public class IniFile : CustomIniFile
    {	
        public override string ReadString(string Section, string Ident, string Default)
        {
            ...
            return Encoding.Default.GetString(vBuffer, 0, (int)vCount);
        }	
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值