抽象类和接口的区别

抽象类和接口两者的区别 , 在刚学编程的人眼中 , 仿佛区别不较着 , 用谁都可以 。 可是 , 这个却又是经常被问到的问题 。 那么 , 抽象类和接口都有哪些区别呢?本文以C#为例进行申明

需要这些哦
visual studio
方式/
1【抽象类和接口的区别】本文以C#语法为例申明 , 打开visual studio , 建立肆意一个项目类型都行 。 本文以建立一个节制台应用程序为例 , 当项目建立好之后 , 再建立一个接口类 , 叫做IAnimal , 与一个抽象类Person

抽象类和接口的区别

文章插图

2接口只是一组方式的调集 , 并不克不及包含任何实现 , 所以 , 接口是不克不及包含字段的 。 抽象类在没有抽象方式的环境下 , 跟通俗方式不同不大 , 其他类内部能有的工具 , 抽象类也都可以有 。 所以 , 抽象类是可以包含字段界说的

抽象类和接口的区别

文章插图

3接口中的方式只能有方式体 , 不克不及有具体的实现代码 。 抽象类中的方式 , 若是不加abstract就可以有方式体的实现代码 , 一旦加上abstract这个关头字的方式 , 就是抽象方式 , 这样的方式 , 不克不及有方式体

抽象类和接口的区别

文章插图

4在C#中 , 一个类可以同时实现多个接口 。 可是 , 一个类只能同时实现一个父类 , 实现抽象的父类也只能是一个 , 这就是C#中的单担当原则

抽象类和接口的区别

文章插图

5接口并不严酷要求里面的方式有不异的共性与联系 , 好比 , 在IAnimal方式中 , 可以插手物品相关的方式 。 可是 , 抽象类凡是是对一种什物的抽象 , 所以 , 原则上不会将不相关的方式插手进来 , 因为 , 抽象类中界说的方式 , 子类可以或许主动获得并利用

抽象类和接口的区别

文章插图

6接口中的方式是不克不及带拜候润色符的 , 即使是public也不克不及有 , 默认就是公开的 。 抽象类中的方式 , 可以带任何拜候润色符 , 好比public、private、protected等

抽象类和接口的区别

文章插图

7子类实现接口的时辰 , 必需将接口中的所有方式都实现 , 无一破例 。 可是 , 在抽象类中的方式 , 若是不是利用abstract润色的抽象方式 , 就可以不实现 , 子类主动获得这个方式的利用权限

抽象类和接口的区别

文章插图


以上内容就是抽象类和接口的区别的内容啦 , 希望对你有所帮助哦!

    推荐阅读