zoukankan      html  css  js  c++  java
  • 接口和抽象类对比

    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 实现了抽象类的类名();
  • 相关阅读:
    npm脚本和package.json
    Vue官方文档笔记(二)
    Vue官方文档笔记
    2019windows上安装Mac OS 10.14过程详细截图
    三次握手四次挥手
    ==和equals的区别
    Stringbuffer和Stringbuilder的区别
    字符串拼接五种常用方法
    什么是线程以及保证线程安全
    什么是线程安全,怎样保证线程安全
  • 原文地址:https://www.cnblogs.com/JarvisNote/p/5059249.html
Copyright © 2011-2022 走看看