2021-06-25-刘铁猛C#语言入门详解-学习笔记P26重写与多态

P26重写与多态

一、P26内容总结

  1. 类的继承:横向扩展、纵向扩展(重写)、类成员的隐藏
  2. 多态

二、类的继承

  1. 类成员的横向扩展(成员数量)
	//新建Car实例后不仅有Run方法,还有Speed属性
	class Vehicle
    {
        public void Run()
        {
            Console.WriteLine("I'm running");
        }
    }

    class Car:Vehicle
    {
        public int Speed { get; set; }
    }
  1. 类成员的纵向扩展(行为改变,版本增高)
	//实例:子类对父类成员的重写
    class Vehicle
    {
        public virtual void Run()
        {
            Console.WriteLine("I'm running");
        }
    }

    class Car:Vehicle
    {
        public override void Run()
        {
            Console.WriteLine("Car is running");
        }
    }
  1. 类成员的隐藏(不常用)
	//实例:子类对父类成员的隐藏
    class Vehicle
    {
        public void Run()
        {
            Console.WriteLine("I'm running");
        }
    }

    class Car:Vehicle
    {
    	//在Car类里有两个Run方法,一个是从父类继承下来的一个是自己的,默认把自己的Run方法给隐藏了
        public void Run()
        {
            Console.WriteLine("Car is running");
        }
    }

  1. 重写与隐藏发生的条件:
    1)函数成员;
    2)可见(修饰符为public&protected);
    3)签名(对于方法:方法名&参数列表)一致。

三、多态

  1. 概念:当我们用一个父类变量引用一个子类的实例时,并调用一个被重写成员时,总是能调到继承类上最新的版本;
  2. 基于重写机制(virtual override);
  3. 函数成员的具体行为由对象决定。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值