• 接口和抽象类对比


    1.接口-interface

     1.1 接口声明默认以I开头

     1.2 接口定义只声明方法,不实现具体的方法体

     1.3 接口默认公开 Public

     1.4 接口定义行为(约束行为)

        public interface Imobile //定义接口
        {
            void UserMobile();
        }
        public class ImeImobile : Imobile //继承接口
        {
            public void UserMobile() //实现接口
            {
                Console.WriteLine();
            }
        }

    2.抽象类-abstract

     2.1 定义抽象类时可以不实现具体方法体(抽象类可有属性、已实现的方法、未实现的方法)

     2.2 类中有抽象方法,这个类必须是抽象类

     2.3 类和抽象类都可以继承抽象类

     2.4 如果继承抽象类必须事项抽象类中的抽象方法

        public abstract class TestName //抽象类
        {
            public string Name { get; set; } //属性
            public abstract void Play(); //抽象方法,未实现方法体
            public void Eat() //已实现的方法
            {
                Console.WriteLine();
            }
        }
        public class TextNameChild : TestName //继承抽象类(继承抽象类必须实现抽象方法)
        {
            public override void Play() //重写Play类
            {
                Console.WriteLine();
            }
        }

    3.差异

     3.1 抽象类只能继承一个抽象类、接口可以继承多个接口

    4.实例化

    Imobile mobile = new ImeImobile();//接口的实例化 *** = new 实现了接口的类名();
    
    TestName testName = new TextNameChild();//抽象类的实例化 *** = new 实现了抽象类的类名();
  • 相关阅读:
    用js实现 全选功能(Gridview)
    图片 加文字水印或者图片水印
    Gridview中RowCommand事件的应用
    图片噪点的产生
    DataList实现折叠效果
    利用Request对象的CurrentExecutionFilePath做分页
    利用分页控件AspNetPager来做数据的分页
    log4Net一些记忆性总结
    彩色验证码
    组织机构设计器窗体基类 代码分析
  • 原文地址:https://www.cnblogs.com/JarvisNote/p/5059249.html
Copyright © 2020-2023  润新知