C#简单接口和继承示例详解——快速入门

简介: C#简单接口和继承示例详解——快速入门

上一篇中我们说到继承,其实他们之间是差不多的。

接口是方法的抽象,如果不同的类有同样的方法,那么就应该考虑使用接口。

C#中接口可以多继承,接口之间可以相互继承和多继承。一个类可以同时继承一个类和多个接口,但是接口不能继承类。

接口之间继承表示方法和类继承是相同的,继承的规则也是相同的,即子接口获得父接口的内容,如果有多个接口,接口之间用","隔开。

老规矩,上菜:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
   /**
   * 假如你是一名在职学生,你就具有双重身份。一个身份是学生,必须完成学习任务,一个身份是职员,必须完成工作任务。进一步说,你是计算机类学生,除了学习基础课程,
   * 还必须学习C#程序设计。现在建立一个模型,应该如何建立?
   * 1.我们首先来定义一个学生接口,规定学生必须学习,再建立一个职员接口,规定职员必须完成工作任务。
   * 2.计算机专业的学生,除了完成一般学习任务,还是学习C#。可以再定义一个接口,继承学生接口,规定自己的学习任务。
   */
namespace InterfaceApplication
{
    //定义学生接口
    public interface IStudent
    {
        void study_base();
    }
    //定义计算机类学生接口
    public interface IIStudent : IStudent
    {
        void study_computer();
    }
    //定义职员接口
    public interface IEmployee
    {
        void work();
    }
    public class Infostudent : IEmployee, IIStudent
    {
        //实现学生接口
        public void study_base()
        {
            Console.WriteLine("学生:数学、语文和英语必须学好");
        }
        //实现计算机类学生接口
        public void study_computer()
        {
            Console.WriteLine("计算机类学生:数学、语文和英语必须学好,还要学C#");
        }
        //实现职员接口
        public void work()
        {
            Console.WriteLine("职员:工作必须完成");
        }
    }
    //运行程序
    class Program
    {
        static void Main(string[] args)
        {
            Infostudent infostudent = new Infostudent();
            infostudent.study_base();
            infostudent.study_computer();
            infostudent.work();
            Console.ReadKey();
        }
    }
}

我们运行一波看看效果!

很显然,学生和计算机类的学生都继承了学生接口。

是不是很简单,灵活运用接口能给工作中带来很多便利哦!

相关文章
|
10天前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
26 5
|
2月前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
127 65
|
2月前
|
C#
C# 接口(Interface)
接口定义了所有类继承接口时应遵循的语法合同。接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分。 接口定义了属性、方法和事件,这些都是接口的成员。接口只包含了成员的声明。成员的定义是派生类的责任。接口提供了派生类应遵循的标准结构。 接口使得实现接口的类或结构在形式上保持一致。 抽象类在某种程度上与接口类似,但是,它们大多只是用在当只有少数方法由基类声明由派生类实现时。 接口本身并不实现任何功能,它只是和声明实现该接口的对象订立一个必须实现哪些行为的契约。 抽象类不能直接实例化,但允许派生出具体的,具有实际功能的类。
52 9
|
3月前
|
安全 C#
C# 面向对象编程的三大支柱:封装、继承与多态
【9月更文挑战第17天】在C#中,面向对象编程的三大支柱——封装、继承与多态,对于编写安全、可维护、可复用的代码至关重要。封装通过访问修饰符和属性保护数据;继承允许子类继承父类的属性和方法,实现代码复用和多态;多态则提高了代码的灵活性和通用性。掌握这三大概念能显著提升C#编程能力,优化开发效率和代码质量。
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
116 0
|
2月前
|
API C#
异步轮询 Web API 的实现与 C# 示例
异步轮询 Web API 的实现与 C# 示例
90 0
|
3月前
|
C# 索引
C# 一分钟浅谈:接口与抽象类的区别及使用
【9月更文挑战第2天】本文详细对比了面向对象编程中接口与抽象类的概念及区别。接口定义了行为规范,强制实现类提供具体实现;抽象类则既能定义抽象方法也能提供具体实现。文章通过具体示例介绍了如何使用接口和抽象类,并探讨了其实现方式、继承限制及实例化差异。最后总结了选择接口或抽象类应基于具体设计需求。掌握这两者有助于编写高质量的面向对象程序。
140 5
|
3月前
|
存储 C#
C# 一分钟浅谈:继承与多态性的实践
【9月更文挑战第2天】本文从基础入手,详细介绍了面向对象编程中继承与多态性的核心概念。通过 `Animal`、`Dog` 和 `Cat` 类的示例代码,展示了如何利用继承重用代码及多态性实现不同对象对同一方法的多样化响应,帮助读者更好地理解和应用这两个重要概念,提升面向对象编程能力。
48 3
|
4月前
|
C#
C#中的类和继承
C#中的类和继承
45 6
|
4月前
|
API C# 数据库
SemanticKernel/C#:实现接口,接入本地嵌入模型
SemanticKernel/C#:实现接口,接入本地嵌入模型
94 1