高级内容,非专业人士请绕道

   

   首先跟大家分享一句话: 偶尔找个时光,好好的放松一下吧,不要背负过多的压力。拒绝不属于我们自己的承担,让自己做一下自己想做的事,不要太长的时间,一个下午就好

Okay, give me the next time.

     NO.1     接口初步

01.接口是用来规范实现该接口中类中方法的格式,它相当于是规范的制定者。

02.在没有继承关系的多个类中,想实现多态,接口是一种处理方案。

03.接口中只能定义方法不能定义变量。

   0.1 :创建一个接口

         命名规范所有接口名称必须有I开头,代表interface

public interface IFly
 {
  //注意接口中的方法不能有方法体,也不能有修饰符
//
void Say(); }

    0.2 :使用接口实现多态

0.2.1  先定义一个接口

public interface IFly
    {
    
       //返回类型为string ,传入参数类型为string
        string Say(string msg);

    }

0.2.2  然后定义两个可以飞翔的类用来实现此接口

 //01.定义一个鸟类
public class Birds:IFly,IEat
    {
        public string Say(string msg)
        {
            Console.WriteLine("我是一只小小鸟");
            return "鸟!";
        }
    }

//02.定义一个飞机类
 public class Plane:IFly
    {
        public string Say(string msg)
        {
            Console.WriteLine("我是一架冒着黑烟徐徐飞翔在孤寂的夜空中!!");
            return "飞机";
        }
    }

 0.2.3最后在Main方法中实现接口

  class Program
    {
        static void Main(string[] args)
        {
            //定义一个接口类型的数组
            IFly[] flys = {
                              new Birds(), 
                              new Plane()
                          };
            //遍历数组中的对象
            foreach (IFly fly in flys)
            {
        //括号中的“飞行”并非可以显示出来,而是根据规范传入的字符串,可以是任意字符
                Console.WriteLine(fly.Say("飞行"));
               
            }
            Console.ReadKey();
            
        }
    }

 运行结果如下:

讲到这里,你会了吗?反正我会了。

NO.2     匿名类

解析:顾名思义也就是没有名字的类!

话不多说马上来定义一个匿名类:

  //什么是var?
 //成就匿名类的就是var:是一种语法糖技术
 //var 意思就是代表任何数据类型,但是CLR在编译的时候会把它编译成确切的数据类型
            var stu = new {Name="老王",Age=20,Phone="110"};
            var stu2 = new {Name="随便",Age=25};

匿名类就定义好了,那么就有人问了怎么调用输出呢?来看代码

 static void Main(string[] args)
        {
          
            var stu = new {Name="老王",Age=20,Phone="110"};
            var stu2 = new {Name="随便",Age=25};
             Console.WriteLine("我是"+stu.Name+ "我今年"+stu.Age+"岁"+"我的电话号不是"+stu.Phone);
            Console.WriteLine("我是"+stu2.Name+"我今年"+stu2.Age); Console.ReadKey(); }

 运行结果如下:

 由于个人时间原因,今天讲的就到这里,如果大家感兴趣请关注一下,后续内容我会定时补上,谢谢大家百忙之中抽出的时间!

原文地址:https://www.cnblogs.com/System-out-println/p/5387678.html