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/
    欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Python之面向对象新式类和经典类
    Python之面向对象继承和派生
    Python之面向对象类和对象
    Python之面向对象的程序设计
    Python之面向对象函数式编程
    Python之内置函数
    列表解析与生成器表达式
    03: 交换机基本原理与配置
    02: 网络布线与数制转换
    01:数据封装解封的过程
  • 原文地址:https://www.cnblogs.com/tq1226112215/p/3458587.html
Copyright © 2011-2022 走看看