蓝鸥Unity开发基础——接口

来源:互联网 发布:焊接软件那个好 编辑:程序博客网 时间:2024/06/03 07:24

蓝鸥Unity开发基础——接口

一、接口

使用interface关键字定义接口

接口定义一组成员单不直接实现它们


二、实现接口

实现接口的任何类都必须实现其所有的成员方法

接口不能直接实例化

接口可以包含方法和属性声明,不能包含字段

即可中所有属性和方法默认为public

一个子类可以继承一个父类的同时,实现多个接口

 

using System;

namespace Lesson_20
{
    public  class A{

    }
    
    //食物接口
    public interface Food{

        //在接口中定义属性,属性也不能实现
        float Price{ get ;}

        //在接口中定义方法
        //1、不能添加访问修饰符,默认都是public
        //2、在接口中的方法不嗯给你实现

        void Eat();
        
    }

    //苹果类
    //Apple继承于A类,并且实现了Food接口
    //3、一旦某个类实现了接口,就必须实现接口中定义的全部成员
    public class Apple:A,Food{
        public float Price {
            get {
                return 1.4f;
            }
        }

        public void Eat ()
        {
            //实现了Food接口中的Eat方法
            Console.WriteLine("吃下苹果后:HP+10");
        }

    }

    public class Banana:Food{

        public void Eat ()
        {
            Console.WriteLine ("吃下香蕉后:HP-10");
        }
        public float Price {
            get {
                return 5.6f;
            }
        }
            
    }
    class MainClass
    {
        public static void Main (string[] args)
        {
            Apple a = new Apple ();
            a.Eat ();
            Console.WriteLine (a.Price);

            //多态——使用接口实现的多态(多态使用抽象,虚方法)
            Food b = new Apple ();
            b.Eat ();
            Console.WriteLine (b.Price);

            Banana banana = new Banana ();
            banana.Eat ();

            //4、不能够直接实例化接口 ,不能这样用Food f =new Food();
//            Food f =new Food();


        }
    }
}

 

 

练习:创建Area和IVolume接口,创建一个Ball类实现这两个即可,计算球体表面积和体积;在创建一个Cube类同时实现这两个接口,结算立方体表面积和体积。


 

0 0