c#解耦之继承与虚方法、以及抽象类与接口的关系

@TOC

继承与虚方法

  1. 类的继承本质上来说:是派生类在基类已有成员的基础上对基类的横向和纵向的扩展。如何理解这句话?我们知道在c#中类的成员主要有以下几种:方法成员,字段,属性成员以及类成员。横向扩展是指派生类对基类的类成员进行扩充,根据继承的规定,凡是基类声明或创建的成员派生类都有可能(有机会)继承(注:如果该成员被访问修饰符限定了不能被继承,则派生类无法继承。)纵向扩展是*“指对基类已经存在的功能进行修改优化(重写)*”以达到适应新环境,新要求的目的,可视其为对基类的版本的更新。
    private修饰的类的成员无法被派生类继承
  2. 纵向扩展(重写)展示

` static void Main(string[] args)
{
高中生 御坂美琴 = new 高中生();
御坂美琴.Midsemester();
御坂美琴.TheuUniversityEntranceExam();

        Console.ReadKey();
    }
}
class Student
{
    public string  Gender { get; set; }
    public string  Name { get; set; }
    public int Age { get; set; }
    // private  string  ErrorTest1 { get; set; }

    public int FinalExam()
    {
        Console.WriteLine("期末考试");
        return 0;
    }

public virtual int Midsemester()
{
Console.WriteLine(“期中考试”);
return 0;
}

}
class 高中生:Student 
{
   public int TheuUniversityEntranceExam()
    {
        Console.WriteLine("高考成绩720,你可以上清华。");
        return 0;
    }

public override int Midsemester()
{
// return base.Midsemester();
Console.WriteLine(“高中生的期中考试,政史地数理化生样样都考”);
return 0;

    }
}`
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值