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

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

  • 相关阅读:
    判断进程是64bit还是32bit
    判断是否是64位系统(之前那个是判断是否是64位进程不一样。注意区分)
    以程序的方式操纵NTFS的文件权限
    Windows平台内核级文件访问
    TLSAlloc()
    Android开发效率的小技巧
    二分查找法
    unittest 框架
    ASP.NET MVC中使用Ninject
    Java内存区域与内存溢出异常
  • 原文地址:https://www.cnblogs.com/Aspvn/p/9698866.html
Copyright © 2011-2022 走看看