• 抽象类和接口


    namespace OODemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                //接口类型的变量,要以实现了该接口的类的对象赋值,以哪个接口声明的变量,只能调用本接口上声明的成员。
                IWeapon t = new Tank();
                t.Fire();
                t.Play();
                //不能调用IWheicle上定义的成员
                //t.Run();
    
                IWheicle r = new Tank();
                r.Run();
                r.Play();
                //这个不能调用
                //r.Fire();
            }
        }
    }
    
    namespace OODemo
    {
        //接口是纯抽像类,不能有任何实例成员,接口的成员是方法的声明
        public interface IWeapon
        {
            //接口成员天生就是public,所以加public关键字就会报错
            void Fire();
            void Play();
        }
    
        public interface IWheicle
        {
            void Run();
            void Play();
        }
        //实现接口的类必须实现接口成员
        public class Gun : IWeapon
        {
            public void Fire()
            {
                throw new NotImplementedException();
            }
    
            public void Play()
            {
                throw new NotImplementedException();
            }
        }
    
        public class Sowrd : IWeapon
        {
            public void Fire()
            {
                throw new NotImplementedException();
            }
    
            public void Play()
            {
                throw new NotImplementedException();
            }
        }
    
        public class Tank : IWeapon, IWheicle
        {
            public void Fire()
            {
                Console.WriteLine("亚瑟,程咬金");
            }
    //对于两个接口都定义了的成员,要显式的实现就是加接口名前缀(接口点出来方法名来)。 void IWeapon.Play() { Console.WriteLine("鸣礼炮"); } public void Run() { Console.WriteLine("穿山越岭"); } void IWheicle.Play() { Console.WriteLine("脚踏车"); } } }

    接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可

    继承实体类(concrete class)?

    答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类可以继承实体类,

    但前提是实体类必须有明确的构造函数。

    1.接口可以实现多态,能降低类与类之间的耦合度,接口和抽象类一样具有稳定性不能轻易改变。

    2.接口是纯抽像类,不能有任何实例成员,接口的成员是方法的声明,
    实现接口的类必须实现接口成员,接口成员天生就是public所以加public关键字就会报错。

    3.接口类型的变量,要以实现了这个接口的类的对象赋值,只能调用本接口上声明的成员,
    对于两个接口都定义了的成员,要显式的实现就是接口点出来方法名来。

  • 相关阅读:
    params
    robotframework+jenkins分布式执行自动化测试用例
    python文件读写
    Robot Framework资料
    RobotFramework环境搭建
    Django评论系统
    Django集成TinyMCE(admin后台+前台)
    个人博客模块分析
    Django实战,小网站实现增删改查
    docker入门【1】
  • 原文地址:https://www.cnblogs.com/Tianxf815/p/8807196.html
Copyright © 2020-2023  润新知