zoukankan      html  css  js  c++  java
  • ASP.Net软件工程师基础(四)

    1、接口

    (1)接口是一种规范、协议,定义了一组具有各种功能的方法(属性、索引器本质是方法)。

    (2)接口存在的意义:多态。多态的意义:程序可扩展性。

    (3)接口解决了类的多继承的问题。

    (4)接口解决了类继承以后体积庞大的问题。

    (5)接口与接口之间可以继承,并且可以多继承。

    (6)接口中的成员必须不能有实现,接口不能实例化。

    (7)接口中的成员不能有访问修饰符,默认Public。(可以用反编译工具查看)

    (8)接口中可以有属性、方法、索引器等,但不能有字段。

    (9)实现接口的子类必须实现该接口的全部成员,如果不想实现接口中的成员,可以把该成员实现为abstract。

    (10)当一个类同时继承了一个类和一个接口,类写在接口前面。

    //(6)接口中的成员必须不能有实现,接口不能实例化。
    public interface IFly
    {
        void Fly();
    }
    
    public interface ISwim
    {
        void Swim();
    }
    
    //潜水,会潜水的一定会有用
    //(5)接口之间可以实现多继承。
    public interface IDiving : ISwim
    {
        void Diving();
    }
    
    public class Animal
    {
        private string _name;
    
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }
    
        public void Say()
        {
            Console.WriteLine("I am " + this.Name + "!");
        }
    }
    
    //(10)当一个类同时继承了一个类和一个接口,类写在接口前面。
    //(3)接口解决了类的多继承的问题。
    //(4)接口解决了类继承以后体积庞大的问题。尽量每个接口只有一个功能
    public class Swan : Animal, IFly, ISwim
    {
        public void Fly()
        {
            Console.WriteLine("I can fly!");
        }
    
        public void Swim()
        {
            Console.WriteLine("I can swim!");
        }
    }
    
    //(9)实现接口的子类必须实现该接口的全部成员,如果不想实现接口中的成员,可以把该成员实现为abstract。
    public abstract class Amphibians : Animal, IFly, ISwim
    {
        public abstract void Fly();
    
        public abstract void Swim();
    }
    
    public class WildDuck : Amphibians
    {
        public override void Fly()
        {
            Console.WriteLine("I can fly!");
        }
    
        public override void Swim()
        {
            Console.WriteLine("I can swim!");
        }
    }
    接口代码演示
    本文版权归作者和博客园共有,来源网址:http://www.cnblogs.com/tq1226112215/
    欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Redis服务器配置
    Spark History Server配置使用
    CentOS7.3安装Nginx
    U盘安装CentOS7的最终解决方案
    iconfont_3种引用方式
    div+css 让一个小div在另一个大div里面 垂直居中
    JavaScript数组方法
    addEventListener()和removeEventListener()
    js获取网页高度
    Linux修改命令行样式
  • 原文地址:https://www.cnblogs.com/tq1226112215/p/3458587.html
Copyright © 2011-2022 走看看