面向对象(OO)

多态:允许将子类类型的指针赋值给父类类型的指针

1.抽象类

using System;

namespace MyOO.Abstract
{
    /// <summary>
    /// 
    /// </summary>
    public abstract class BaseCar
    {
        //抽象方法
        public abstract void Color();//子类必须实现(override)的方法
        //虚方法
        public virtual void Tyre()//可以不重写,但是为了规范须在Public 前加 new 区分是子类方法,如果重写(override),则同上方法一致
        {
            Console.WriteLine("是什么轮胎");
        }
        //虚方法
        public virtual void Engine()//可以不重写,但是为了规范须在Public 前加 new 区分是子类方法,如果重写(override),则同上方法一致
        {
            Console.WriteLine("是什么引擎");
        }
        public void Logo()//不能被重写
        {
            Console.WriteLine("是什么车标");
        }
    }
    public class Porsche : BaseCar
    {
        public override void Color()//重写抽象方法
        {
            Console.WriteLine("保时捷红色");
        }
        public override void Tyre()//重写虚方法
        {
            Console.WriteLine("保时捷的轮胎");
        }
        new public void Engine()//写一个自己的方法,new区分父类方法
        {
            Console.WriteLine("保时捷的引擎");
        }

        new public void Logo()
        {
            Console.WriteLine("保时捷的车标");
        }
    }
}
抽象类

猜你喜欢

转载自www.cnblogs.com/Jacob-Wu/p/9350958.html