博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
接口和抽象类对比
阅读量:6841 次
发布时间:2019-06-26

本文共 1048 字,大约阅读时间需要 3 分钟。

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 实现了抽象类的类名();

 

转载于:https://www.cnblogs.com/JarvisNote/p/5059249.html

你可能感兴趣的文章
WEB Application Development Integrator : 应用设置
查看>>
Revit API导出GBXML
查看>>
Android实现ListView圆角效果
查看>>
Python--day64--内容回顾
查看>>
润乾V5手机报表说明文档
查看>>
Unix系统介绍
查看>>
照片切换
查看>>
求矩阵的局部极大值(15)
查看>>
Eclipse详细设置护眼背景色和字体颜色并导出
查看>>
Android Gradle 构建工具(Android Gradle Build Tools)是什么?
查看>>
AOP和IOC的作用
查看>>
Apache的Rewrite规则详细介绍
查看>>
ruby环境sass编译中文出现Syntax error: Invalid GBK character错误解决方法
查看>>
go语言的selector
查看>>
ipa 打包遇到的坑
查看>>
正则表达式
查看>>
js之操作JSON数据
查看>>
Design Hit Counter
查看>>
BZOJ 3576 江南乐
查看>>
NAT网络地址转换
查看>>