zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }

    我们运行一波看看效果!

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

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

  • 相关阅读:
    对应于 算法原型 中的“纸条”
    Hive 实际上对于所存储的文件的完整性以及数据内容是否和表结构一致无支配力
    kettle
    regularexpression_action
    Consumer Group Example
    Neural Task Programming: Learning to Generalize Across Hierarchical Tasks
    dm层 集市层 四层 Build a multi-level data strategy
    图片服务器 sns 加爬虫 免上云
    不等式放缩 维时间戳是数据仓库无时间维度的事实表的灾难 度表 事实表
    MaLoc: a practical magnetic fingerprinting approach to indoor localization using smartphones
  • 原文地址:https://www.cnblogs.com/xiongze520/p/10239043.html
Copyright © 2011-2022 走看看