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

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

并非只能通过继承使用多态性,还能通过接口使用。和抽象类不同,接口不能包含任何实现。下面对它们进行了比较。

1.抽象类可以不包含抽象方法, 包含抽象方法的类一定是抽象类。

2.隐式实现的话实现的方法属于实现的类的,可以直接通过类的对象访问,显式实现的话方法是属于接口的,可以看成是寄托在类中实现的,访问这些方法时要先把对象转换成接口对象,然后通过接口对象调用,比如Int32显式实现了IConvertible接口,调用IConvertible接口的ToSingle方法时必须先将Int32对象转换成IConvertible接口对象,例如:

Int32 x=5;
Single s=((IConvertible)x).ToSingle(null);

 3.接口中不能有抽象方法,也不能有虚方法;抽象方法不能声明主体,虚方法必须声明主体;实现类必须实现继承类的抽象成员(override),不必实现虚方法,若要重写虚方法,请使用关键字override/new 。

 

规范:一般要优先选择类,用抽象类将契约(类型做什么)与实现细节(类型怎么做)分离开。

 

转载于:https://www.cnblogs.com/chenh/p/10462328.html

你可能感兴趣的文章
Android 如何把一个 RelativeLayout或ImageView背景设为透明
查看>>
tomcat优化方向
查看>>
http
查看>>
8-1-组队赛
查看>>
codility: CountTriangles
查看>>
赛斯说
查看>>
python 中的pipe
查看>>
(SQL Analyzer services)定义链接维度
查看>>
squid
查看>>
系统开发管理、架构与设计步步谈随笔索引
查看>>
Java的时间空间复杂度详解
查看>>
有效防止SQL注入漏洞
查看>>
Linux chown命令
查看>>
十、I/O流——4-输入、输出流体系
查看>>
十二、网络编程——4-基于UDP协议的网络编程
查看>>
异常处理与调试6 - 零基础入门学习Delphi55(完)
查看>>
if语句三种形式
查看>>
正则表达式之字符串验证
查看>>
codeblocks如何支持_tmain?可移植代码的编码推荐
查看>>
省市联动 填坑
查看>>