zoukankan      html  css  js  c++  java
  • 1接口编程

    使用ArcGIS Engine,也就意味着使用里面的接口,那么什么是接口呢?在面向对象的编程中,我们都会
    接触到这个玩意儿,我们知道面向对象有三大特性  封装,继承,多态,相信很多人在学习多态的时候,
    会接触接口。

    接口可以用这样一句话来描述“接口就是包含一系列不被实现的方法.而把这些方法的实现交给继承它的
    类.”,这句话看起来很晦涩,没关系,我们通过下面一个例子说明 我定义了一个接口IPeople

    代码如下:

    using System; 
    using System.Collections.Generic; 
    using System.Text; 
    namespace InterfaceTest 
    { 
        interface IPeople 
        { 
            void gender(); 
        } 
    }

    这个接口里面有一个性别的方法,这个只对方法进行了定义,而方法内却没有内容,也就是说,通过这个
    接口的这个gender方法,我们不能知道它到底干什么,但是要知道这个gender到底是干什么用的,那么
    就要看实现了这个方法的类。同理我定义两个类,分别实现这个接口。

    第二部,添加两个类,代码分别是:

    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    namespace InterfaceTest 
    { 
        class Boy:IPeople 
        { 
            public void gender() 
            { 
                Console.WriteLine("I’m a boy."); 
            } 
    }
    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    namespace InterfaceTest 
    { 
        class Girl:IPeople 
        { 
            public void gender() 
            { 
                Console.WriteLine("I’m a girl."); 
                
            } 
        } 
    } 

    通过上面的两个类,我们就很清楚的看到这个方法的作用了,我们也可以看到一个接口可以被多个类实现。
    我们运行一下这个,看一下效果。

     
    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
    namespace InterfaceTest 
    { 
        class Program 
        { 
            static void Main(string[] args) 
            { 
                IPeople Person; // 声明接口变量  
                Person = new Boy(); // 实例化,接口变量中存放对象的引用  
                Person.gender(); // 这个调用的是Boy中的gender方法 
                Person = new Girl(); // 实例化,接口变量中存放对象的引用 
                Person.gender(); // 这个调用的是Gril中的gender方法  
                Console.ReadLine(); 
     
            } 
        } 
    } 
  • 相关阅读:
    hdu1209(Clock)
    [NodeJS]使用Node.js写一个简单的在线聊天室
    UVa 11168 Airport , 凸包
    【数据结构与算法】(二) c 语言链表的简单操作
    Struts简单介绍
    bzoj3931【CQOI2015】网络吞吐量
    python爬虫解决百度贴吧登陆验证码问题
    TNS-01251: Cannot set trace/log directory under ADR
    Oracle 监听器日志文件过大导致监听异常
    RHEL7
  • 原文地址:https://www.cnblogs.com/qiushuixizhao/p/3227299.html
Copyright © 2011-2022 走看看