`
rorely
  • 浏览: 119839 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

C# 接口

阅读更多
■接口:使用关键字interface,只是定义一系列的行为类型,不提供任何实现
interface IMovable{
    float speed{get;}
    float maxSpeed{get;set;}
    void Run();
    void Walk();
    void Fly();
}
■接口的实现,通过冒号来实现

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace useInterface
{
    
interface IMovable {
        
float Speed{get;}
        
float MaxSpeed { get; set; }
        
void Run();
        
void Walk();
        
void Fly();
    }
    
class Dog : IMovable {
        
public float Speed {
            get {
                
return 10.5f;
            }
        }
        
private float _MaxSpeed;
        
public float MaxSpeed{
            get { 
return this._MaxSpeed; }
            set { 
this._MaxSpeed = value; }
        }
        
public void Run() {
            System.Console.WriteLine(
"Dog is running");
        }
        
public void Walk()
        {
            System.Console.WriteLine(
"Dog is walking");
        }
        
public void Fly()
        {
            System.Console.WriteLine(
"Dog can't fly");
        }

    }
    
class Person : IMovable
    {
        
public float Speed
        {
            get
            {
                
return 20.5f;
            }
        }
        
private float _MaxSpeed;
        
public float MaxSpeed
        {
            get { 
return this._MaxSpeed; }
            set { 
this._MaxSpeed = value; }
        }
        
public void Run()
        {
            System.Console.WriteLine(
"Person is running");
        }
        
public void Walk()
        {
            System.Console.WriteLine(
"Person is walking");
        }
        
public void Fly()
        {
            System.Console.WriteLine(
"Person flies with a plane");
        }

    }
    
class Program
    {
        
static void SthMove(IMovable mov) {
            string type 
= mov.GetType().Name;
            System.Console.WriteLine(
"This is a {0} ",type);
            System.Console.WriteLine(
"{0}.Speed={1}",type,mov.Speed);
            System.Console.WriteLine(
"{0}.MaxSpeed={1}", type, mov.MaxSpeed);
            mov.Walk();
            mov.Run();
            mov.Fly();
        }
        
static void Main(string[] args)
        {
            Person aPerson 
= new Person();
            aPerson.MaxSpeed 
= 50;
            SthMove(aPerson);
            IMovable mov 
= new Dog();
            mov.MaxSpeed 
= 20;
            SthMove(mov);
            System.Console.ReadLine();
        }
    }
}

结果:
This is a Person
Person.Speed=20.5
Person.MaxSpeed=50
Person is walking
Person is running
Person flies with a plane
This is a Dog
Dog.Speed=10.5
Dog.MaxSpeed=20
Dog is walking
Dog is running
Dog can't fly



一个类可以实现多个接口。如有两个接口IMovable,ISpeakable,定义一个Person类来实现这两个接口
class Person:IMovable,ISpeakable
分享到:
评论

相关推荐

    C#接口的作用

    ### C#接口的作用详解 #### 一、引言 在软件开发中,接口是一个非常重要的概念,尤其是在面向对象编程语言中。本文将详细介绍C#中的接口及其作用,并通过实例来帮助理解接口的重要性和使用方法。 #### 二、什么是...

    c#接口调用案例

    在这个"**c#接口调用案例**"中,我们将探讨如何创建接口,实现接口,并在实际应用中调用接口方法。 首先,接口通过`interface`关键字声明,它只包含方法签名、属性和事件,而不包含任何实现细节。例如: ```csharp...

    C#接口对接示例

    本示例将重点关注"C#接口对接",特别是通过Web Service实现的接口访问。C#是Microsoft开发的一种面向对象的编程语言,广泛用于构建Windows桌面应用、Web应用以及.NET框架下的服务。 **接口对接的概念** 接口对接是...

    java调用C#接口及所涉及到的架包

    本文将深入探讨如何在Java中调用C#接口,以及涉及的相关技术栈。 1. **Java与C#的互操作性** Java和C#虽然都是高级编程语言,但它们属于不同的生态系统。为了实现跨平台交互,通常采用两种主要方式:Web服务(如...

    C#接口使用的好处

    本文将深入探讨C#接口的使用及其带来的好处。 首先,接口提供了多态性。多态性是面向对象编程中的一个重要特性,它允许不同类型的对象以相同的方式进行操作。在C#中,一个类可以实现多个接口,这就意味着该类可以...

    C#接口技术.pdf

    ### C#接口技术详解 #### 接口概览 接口在C#中扮演着关键角色,它是定义一种协定的方式,确保任何实现该接口的类或结构遵循特定的行为规范。接口的引入克服了C++中多继承带来的复杂性,提供了一种更加清晰、简洁的...

    C#接口的使用

    综上所述,C#接口是构建可扩展、灵活和规范化的软件系统的关键工具。理解和熟练使用接口,可以提高代码的复用性和可维护性,是成为优秀C#开发者不可或缺的技能。在实际项目中,我们应根据需求合理地利用接口,实现...

    c#接口的意义 学习心得 读书笔记 (彻底弄清楚接口,轻松使用接口)

    "c#接口的意义 学习心得 读书笔记" c#接口的意义是学习c#语言的重要部分,对于初学者来说,理解接口的概念和应用是非常重要的。本文将详细介绍c#接口的定义、特点、优点和实践经验,帮助读者更好地理解和使用接口。...

    C#接口使用的一个简单易懂的例子

    下面,我们将通过一个简单的例子深入理解C#接口的使用。 首先,我们来创建一个接口。接口名称通常以大写字母"I"开头,以示区别于类。例如,我们可以创建一个名为`IMyInterface`的接口: ```csharp public ...

    C#接口实现案例 c#经典案例.pdf

    C#接口实现案例 C#中的接口(Interface)是一种抽象类,定义了一组方法、属性、事件和索引器,但不提供实现。接口只能被继承和实现,不能被实例化。接口的主要作用是定义一个契约,规定了类或结构体必须提供的成员...

    C#接口应用小程序

    在这个名为"C#接口应用小程序"的项目中,我们可以深入理解接口的基本原理及其在实际编程中的应用。 接口(Interface)在C#中是一个纯抽象类型,它定义了一组方法签名,但不包含任何实现。类可以实现一个或多个接口...

    C#接口技术运用,帮你完善面向对象编程

    本文将深入探讨C#接口技术的运用及其对完善面向对象编程的意义。 1. **接口的定义与使用** - 接口使用`interface`关键字来声明,它由一组公共成员(如方法、属性、索引器和事件)组成,这些成员默认都是抽象且公开...

    关于C#接口的用途及其使用方法

    ### C#接口的基本概念 接口(Interface)是一种抽象类型,它定义了一组方法、属性、事件和索引器的签名。这些成员在接口中仅声明而不包含具体的实现。接口不能被实例化,但可以被类或结构体所实现。当一个类实现了...

    学习c#接口的典型例子

    总之,“学习c#接口的典型例子”这个资料包是学习和掌握C#接口的宝贵资源,它将帮助开发者更好地理解接口的概念,提高其在实际项目中的应用能力。通过实际编写和分析这些示例,学习者可以加深对接口的多态性和灵活性...

    c#接口调试工具postman完整安装包,免安装

    c#接口调试工具postman完整安装包,免安装

    c#接口详细介绍及实例

    在C#编程语言中,接口(Interface)是一种特殊类型的类,它定义了一组成员,包括方法、属性、索引器和事件,但不提供具体的实现。接口的主要目的是为类或结构提供一种方式来声明它们支持特定的行为或特性,而无需...

    用友U8二次开发记录应收应付com接口(vb.net to c# 接口)

    用友U8二次开发记录应收应付com接口(vb.net to c# 接口)

    c# 接口详解

    总结来说,C#接口是一种重要的编程构造,它定义了一组方法、属性、事件和索引器的协议,类或结构通过实现接口来承诺实现这些成员。接口支持多重继承和多重实现,这增强了编程的灵活性和复用性。接口作为组件技术的一...

    c#编程爱好者来看,C#接口教程

    C#接口教程,供大家学习,当时的发生的发生的发生地方

Global site tag (gtag.js) - Google Analytics