• 0106-接口


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace _07接口
    {  
        /*接口代表这具有某种能力、只声明不实现、且不用修饰符默认public
         *不可以包含字段(但是可以包含属性)和构造函数
         *接口只能继承自接口,类和抽象类都可以继承自接口
        */
        class Program
        {
            static void Main(string[] args)
            {
                IDance[] dancer = {new Student("街舞"), new Teacher("交谊舞")};
                foreach (var item in dancer)
                {
                    item.Dance(); //调用接口对象的Dance方法
                    if (item is Teacher)
                    {  //如果是教师类,则同时调用教师类本身的Dance方法
                        (item as Teacher).Dance();  //输出:老师本身会跳广场舞
                    }
                }
                Console.ReadKey();
            }
        }
    
        interface IDance
        {
            string Dif { get; set; }
            void Dance();
        }
        class Person
        {
            
        }
    
        class Student : Person, IDance
        {
            public string Dif{get; set ; }
            public void Dance()
            {
                Console.WriteLine("学生会跳{0}",Dif);
            }
    
            public Student(string dif)
            {
                this.Dif = dif;
            }
        }
    
        class Teacher : Person, IDance
        {
            public string Dif { get; set; }
    
            public void Dance()
            {
                Console.WriteLine("老师本身会跳广场舞");
            }
    
            void IDance.Dance() //当类和接口有同名函数时,可以省略public关键字且函数名前增加接口类名称,显示的实现接口函数
            {
                Console.WriteLine("老师会跳{0}", Dif);
            }
    
            public Teacher(string dif)
            {
                this.Dif = dif;
            }
        }
    }
    凡哥,别他妈吹牛逼了
  • 相关阅读:
    java操作FTP的一些工具方法
    原生态jdbc的应用技术
    shell脚本重启应用
    性能优化,定时批量入库支持类设计
    linux从零搭建Elasticsearch单机版安装02
    linux从零搭建Elasticsearch之JAVA环境01
    JMX端口开放配置
    druid配置logback日志记录慢sql以及应用数据源监控开启
    java实现BS预览功能
    假分页
  • 原文地址:https://www.cnblogs.com/sdlz/p/14694877.html
Copyright © 2020-2023  润新知