c# 多态
一、多态是个啥?
课前小tip※
多态的定义:就是同一个事物在不同情况呈现出来的不同的状态
满足多态的条件:(1)具有继承或者实现的关系、(2)子类对父类要有方法重写、(3)父类引用指向子类对象
对于成员变量:编译看左边,执行看左边
对于成员方法:编译看左边,执行看右边
我们先看看“多态”到底是什么玩意?
showtime😎
首先定义一个
Animal类:
namespace Day04
{
internal class Animal
{
public int number = 10;
public virtual void eat()
{
Console.WriteLine("动物吃东西");
}
}
}
Dog类:
namespace Day04
{
internal class Dog : Animal //具有继承关系
{
public int number = 20;
public override void eat() //子类对父类方法重写
{
Console.WriteLine("狗吃骨头");
}
}
}
Pig类:
namespace Day04
{
internal class Pig : Animal //具有继承关系
{
public override void eat() //子类对父类方法重写
{
Console.WriteLine("猪吃白菜");
}
}
}
测试类:
using Day04;
internal class Program
{
private static void Main(string[] args)
{
Dog d = new Dog