抽象类与非抽象类的主要区别:

·抽象类不能直接被实例化

·抽象类中可以包含抽象成员,但非抽象类中不可以

·抽象类不能被密封


声明抽象方法时需注意:·抽象方法必须声明在抽象类中  ·声明抽象方法时,不能使用virtual、static、private修饰符。

在抽象类中抽象方法不提供实现。

抽象类和接口的区别:

·它们的派生类只能继承一个基类,即只能继承一个抽象类,但是可以继承多个接口。

·抽象类中可以定义成员的实现,但接口中不可以。

·抽象类中包含字段、构造函数、析构函数、静态成员或常量等,接口中不可以。

·抽象类中的成员可以私有的(只要不是抽象的)、受保护的、内部的或受保护的内部成员,但接口中的成员必须是公共的。


PS:抽象类和接口这两种类型用于完全不同的目的。抽象类主要用作对象系列的基类,共享某些主要特性,例如共同的目的和结构。接口则主要用于类,这些类在基础水平上有所不同,但仍然可以完成某些相同的任务。

转载于:https://www.cnblogs.com/crhdyl/p/4929231.html

c# 抽象类 抽象方法相关推荐

  1. 【Flutter】Dart 面向对象 ( 抽象类 | 抽象方法 )

    文章目录 一.抽象类与抽象方法 二. 相关资源 一.抽象类与抽象方法 抽象类 不能创建实例对象 , 其作用是用于定义接口 ; 定义抽象类 : 使用 abstract 关键字定义抽象类 , 格式如下 : ...

  2. java抽象类 抽象方法_Java基础 -- Java 抽象类 抽象方法

    总结: 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过.只有抽象类的非抽象子类可以创建对象. 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类. ...

  3. java 抽象类语法_JAVA基础语法8--多态/抽象类/抽象方法

    多态 继承.封装.多态.抽象是面向对象编程的四大基本特征.封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提条件下,改变类的内部结构,同时保护了数据.继承是为了重用父类代码,同时为多态做准备.那 ...

  4. 11.0_[Java 继承]-继承/重写/抽象类/抽象方法/ final 修饰符

    ################################################## 目录 继承 什么是继承 继承语法 super 关键字 如何使用继承 java.lang.Objec ...

  5. Java抽象类/抽象方法定义及其特性详解

    类的继承结构中,越往上的类越具有通用性,也就越抽象.当它抽象到一定程度,就变成概念成框架,不能再产生实例化的对象了.例如"交通工具",就无法用它来产生一个实例.        对应 ...

  6. java接口抽象方法_Java 接口 抽象类 抽象方法

    abstract class elehousekeeping { //抽象家用电器类 abstract void opermode(); //抽象方法 } class TV extends eleho ...

  7. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程

    多态 多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1. 多态是方法的多态,不是属性的多态(多态与属性无关). 2. 多态的存在 ...

  8. Java:抽象方法和抽象类,抽象类应用模板方法模式,接口及使用

    一.抽象类概念和作用 抽象类                 Java中可以定义没有方法体的方法,该方法由子类来具体实现.                 该没有方法体的方法我们称之为抽象方法,含有抽 ...

  9. php抽象方法db,PHP笔记之抽象方法抽象类

    抽象方法 定义:一个方法如果没有方法体,则这个方法就是抽象方法. 1.一个方法们没有{},直接使用分号结束的方法: 2.如果是抽象方法,必须使用abstract(抽象关键字来修饰) 抽象类 1.如果一 ...

最新文章

  1. Linux/docker下oracle开启监听,开启自动启动
  2. 企业数智化转型与分析流程自动化(APA)
  3. 2周修改了1000多个Bug后软件项目扭转了局面,未交付银行的现金管理系统健壮起来了...
  4. ACM POJ 2192 Zipper
  5. 让那些为Webkit优化的网站也能适配IE10(转载)
  6. linux 监听数据包,linux下网络监听与发送数据包的方法(即libpcap、libnet两种类库的使用方法)...
  7. sharepoint服务器安装已安装netframework4.5,仍提示未安装
  8. 爬虫python能做什么-总算发现python爬虫能够干什么
  9. 输入分数输出小数C语言,这是把小数转换成分数的程序,可是输入0.6666无限循环...
  10. AndroidDeveloper Weekly No.2
  11. 用matlab给图像加水印,大神,在MATLAB中将图像水印插入音频文件可否给我个具体的步骤啊!很着急​...
  12. 液晶显示器模拟接口时,屏幕重影照片
  13. 人工智能 - NBA球星产生式系统
  14. 技术主管和技术总监的区别_技术主管–责任圈
  15. 从Dijkstra谈帅才的洞察力
  16. 记录走过python的坑:明明安装了某个模块,却提示“no mudule named xxx“
  17. 一切要靠自己努力去争取!!!
  18. EXCEL将网段地址分解成明细地址
  19. 上班族最常用数据图表分析软件有哪些
  20. Paxos协议学习——译《The Part-Time Parliament》

热门文章

  1. LeetCode-50:关于浮点型数字求高次幂的高效运算
  2. JSON值的类型:数字,字符串,逻辑值,数组,对象,null
  3. linux url%7b怎么转化成,shell下解码url
  4. es6调用c语言sdk,ES6 关于对象的扩展-contracts-WinFrom控件库|.net开源控件库|HZHControls官网...
  5. 天锦十字绣:网购退货催生退货运费险
  6. 加强的alert confirm js自定义对话框 多个按钮 ICO自定义
  7. 基于ECharts+百度地图开发散点扩散图
  8. [版本1.11.4已修复]简书安卓UI界面Bug:主界面消失
  9. 代码提示(支持3.X和4.X)—ArcGIS API forJavaScript
  10. python地址簿3.7版本_用python编写地址簿程序的问题