类设计备忘录

1、类的覆载(override)

要覆载一个方法,必须先在所属类的基类中,使用virtual关键字把该方法声明为虚方法。声明一个虚方法,表示该方法可以(而非必需)被派生类所覆载。

派生类可以在方法声明中使用override关键字来实现基类虚方法。派生类中的覆载方法必须声明为和基类方法拥有同样的作用域、返回值、名称和参数列表。

 

2、抽象类(abstract)

抽象类中的抽象方法不给出具体的普遍实现的行为,而是由派生类中的覆载方法具体实现。

只要一个类包含一个或多个抽象方法,该类就必须为抽象类。

抽象类不能被实例化。

public abstractclass ClassA

{

    //具体细节

    public abstract void UpdateData(string userId, string userName);

}

public calss ClassB : ClassA

{

    public override void UpdateData(string userId, string userName)

    {

        //具体细节

    }

}

如果基类为抽象类,则派生类也默认为抽象类,除非对所有抽象方法进行非抽象实现才可对派生类进行实例化。

 

3、静态属性与方法(static)

public calss ClassA

{

    private static int num;

    public static int Num

    {

        get {return num};

        set {num = value};

    }

}

静态属性及方法调用时不能以实例化类来调用,而需要以基类(ClassA)调用。

每个实例化的类操作了基类的静态属性值后,该属性值发生变化反映到所有地方。

静态方法访问所属类的属性时,该属性必须也为静态的。

静态方法不能被派生类覆载,所以静态方法不能为虚方法。也不能被声明为抽象方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值