C# 语法三 抽象类和接口

时间:2021-11-13 08:16:21

1.抽象类

2.接口

一 抽象类

跟普通类的区别:

a)用abstract标识类、抽象方法

b)抽象方法,只能声明,不能定义

c)抽象类不能实例化

C# 语法三 抽象类和接口

二 接口

接口用interface标识,所有的成员(属性、方法、事件)都默认是public的,所以可以省略public。

接口所有成员,也只能声明,不能定义,不能实例化。

C# 语法三 抽象类和接口

三 抽象类与接口的区别、相同点

相同点:

a)不能实例化

b)都可以被继承,但是可以继承多个接口,只能继承一个类(包括抽象类)

c)都包含未被定义的方法,抽象类的抽象方法不能定义,其他的非抽象方法必须被定义(跟普通类一样),但是接口所有成员,都不能被定义

区别:

a)抽象类的抽象方法,可以不被派生类实现(当派生类也为抽象类),但是接口所有成员必须被实现

b)继承多个接口,但是只能继承一个抽象类

c)抽象类可以跟普通类一样,包含private、protected成员(比如字段),也可以有静态字段,但是接口所有成员,默认为public(可以省略public),接口不能有字段

参考博客:https://www.cnblogs.com/sunzhenyong/p/3814910.html

C# 语法三 抽象类和接口的更多相关文章

  1. C++语法小记---抽象类和接口

    抽象类和接口 C++中没有抽象类的概念 含有纯虚函数的类就是抽象类,抽象类的特点: 不能产生实例对象 只能被继承 接口是抽象类的一种特殊情况,具备以下条件的抽象类就是接口: 类中没有成员变量 所有的成 ...

  2. Java基础学习笔记(三) - 抽象类和接口

    一.抽象类 没有方法主体的方法称为抽象方法,包含抽象方法的类就是抽象类. Java中使用 abstract 关键字修饰方法和类,抽象方法只有一个方法名,没有方法体. public abstract c ...

  3. java抽象类和接口区别

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  4. 深入理解java的抽象类和接口(转载)

    原文链接:http://www.cnblogs.com/dolphin0520/p/3811437.html 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的 ...

  5. JAVA抽象类和接口的深入探讨

    Java 语言中,抽象类(abstract class) 和接口(interface) 是抽象思想的两种体现形式.初学者很容易把这两者搞混,所以Java面试中考抽象类和接口的区别的面试题也常有出现的. ...

  6. Java基础知识(抽象类和接口)

    一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 1 abstract void fun(); 抽象方法必须用abst ...

  7. Java面向对象—抽象类和接口

    本文引用海子的一篇文章:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法 ...

  8. Java中抽象类和接口的区别?

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  9. Java基础之抽象类与接口

    Java基础之抽象类与接口 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候 ...

随机推荐

  1. shell test 數值 字符串 文件比較

    數值比較 描述 n1 –eq n2 等於 n1 –gt  n2 大於 n1 –ge n2 大於等於 n1 –lt  n2 小於 n1 –le n2 小於等於 n1 –ne n2 不等於   字符串比較 ...

  2. Liferay 6.2 改造系列之八:修改默认安装的Portlet项目War包

    Liferay默认在Tomcat.Jetty等服务器情况下,自动安装marketplace-portlet-6.2.0.1.war包,实现应用商店的自动部署,一般不需要应用商店,故删除以下包即可: / ...

  3. 51nod1437 迈克步

    傻叉单调栈 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm&gt ...

  4. POJ1038 - Bugs Integrated&comma; Inc&period;&lpar;状态压缩DP&rpar;

    题目大意 要求你在N*M大小的主板上嵌入2*3大小的芯片,不能够在损坏的格子放置,问最多能够嵌入多少块芯片? 题解 妈蛋,这道题折腾了好久,黑书上的讲解看了好几遍才稍微有点眉目(智商捉急),接着看了网 ...

  5. 面试题总结之Linux&sol;Shell

    Linux Linux cshrc文件作用 Linux如何起进程/查看进程/杀进程 Linux 文件755 代表什么权限 Linux辅助线程 Linux进程间通信方法 pipeline,msgq... ...

  6. jvm 性能调优

    [转载]:http://blog.csdn.net/chen77716/article/details/5695893 最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录. 一 ...

  7. javascript prototype &lowbar;&lowbar;proto&lowbar;&lowbar;区别

    An Object's __proto__ property references the same object as its internal [[Prototype]] (often refer ...

  8. Windows kernel pool 初探&lpar;2014&period;12&rpar;

    Windows kernel pool 1. 简介 Kernel pool类似于Windows用户层所使用Heap,其为内核组件提供系统资源.在系统初始化的时候,内存管理模块就创建了pool. 严格的 ...

  9. Redis入门到高可用(五)—— 单线程

    一.单线程为何这么快 1)绝大部分请求是纯粹的内存操作(非常快速) 2)采用单线程,避免了不必要的上下文切换和竞争条件 3)非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框 ...

  10. mac 进程和线程工具

    进程 查看端口进程 lsof lsof -i tcp:<port> 示例 $ lsof -i tcp:8082 COMMAND PID USER FD TYPE DEVICE SIZE/O ...