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只眼睛 

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

  • 相关阅读:
    用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境
    如何快速地编写和运行一个属于自己的 MapReduce 例子程序
    Hive如何加载和导入HBase的数据
    kettle中的karaf设置
    sqoop学习
    windows 本地配置hadoop客户端
    python 随机分类
    python 皮尔森相关系数
    kettle配置命名参数
    idea配置scala和spark
  • 原文地址:https://www.cnblogs.com/Aspvn/p/9698866.html
Copyright © 2011-2022 走看看