zoukankan      html  css  js  c++  java
  • 有趣的接口和抽象类

    接口和抽象类的定义和区别,可以查看博主anytao的博客https://www.cnblogs.com/anytao/archive/2007/04/12/must_net_02.html

    接口:一般是用来定义行为方式

    public interface IAction
    {
            //定义行为方式移动
            void Move();
    }

    抽象类:一般是用来定义共同特征

    public abstract class Similarity
        {
            //定义字段
            protected string _name;
            //声明抽象属性
            public abstract string Name
            {
                get;
            }
            //声明一个抽象方法
            public abstract void Color();
            //实现一个虚方法
            public virtual void Head()
            {
                Console.WriteLine(_name+"有一个脑袋");
            }
            //实现一个普通方法
            public void Eyes()
            {
                Console.WriteLine(_name+"有2只眼睛");
            }
        }

    实现抽象类和接口

    public class Rabbit : Similarity,IAction
        {
            public override string Name
            {
                get
                {
                    return _name;
                }
            }
            public Rabbit(string name)
            {
                _name = name;
            }
            public void Move()
            {
                Console.WriteLine(_name+"奔跑!");
            }
            public override void Color()
            {
                Console.WriteLine(_name+"灰色");
            }
        }

    客户端实现

    static void Main(string[] args)
            {
                Rabbit rabbit = new Rabbit("兔子");
                rabbit.Color();
                rabbit.Move();
                rabbit.Head();
                rabbit.Eyes();
            }

    结果:

    兔子灰色

    兔子奔跑!

    兔子有一个脑袋

    兔子有2只眼睛 

    注意:抽象类的虚方法重写不是必须的,可以选择重写。重写之后会替换掉原来的方法。

  • 相关阅读:
    制作U盘启动安装CentOS Linux系统
    理解lua中 . : self
    LUA 运算笔记
    技能系统的数据结构
    关于数据结构(二)
    关于数据结构(一)
    WLW/OLW 最佳博客写作软件
    提升ReSharper和Visual Studio的性能
    ReSharper导致Visual Studio缓慢?
    ReSharper 全教程
  • 原文地址:https://www.cnblogs.com/Aspvn/p/9698866.html
Copyright © 2011-2022 走看看