面向对象(OO)

Posted jacob-wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象(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("保时捷的车标");
        }
    }
}
抽象类

 

以上是关于面向对象(OO)的主要内容,如果未能解决你的问题,请参考以下文章

面向对象--OO--object-oriented

OO(object oriented面向对象)

北航面向对象OO第三单元——JML

理清那么多个OO(面向对象)

oo第三阶段总结

设计与实现分离——面向接口编程(OO博客第三弹)