`
wsql
  • 浏览: 11793729 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#类、接口、虚方法和抽象方法-非抽象类与接口的差别

 
阅读更多

非抽象类和接口的差别很大,它们的差别主要表现在以下几个方面:

1、非抽象类可以有成员变量、常量和构造函数,而接口中不能存在常量、域、操作符、构造函数或析构函数,而且不能包含任何静态成员。
2、一个非抽象类可以继承多个接口,而只能继承一个类;
3、非抽象类中可以定义具体的方法和实现,而接口只定义方法没有具体的实现;
4、接口成员一定是公共的,而且不能声明为虚拟或者是静态的,而非抽象类中是没有这些限制。
5、非抽象类可以被实例化,而接口不可以。一般来说,非抽象类的内容较接口要丰富得多,非抽象类可以有面向对象所有的绝大部分组成元素。但是接口相对于非抽象类来说更加灵活,两者在使用上冲突不大,在使用的时候视具体情况而定。

分享到:
评论

相关推荐

    C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例

    C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例

    C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别

    (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 (2) 抽象类不能被实例化 (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生...

    C#类和接口、虚方法和抽象方法及值类型和引用类型的区别等等.........

    这里有好多比较好的资料,很适合正在学习Java和对Java想进一步了解的朋友. ... 一.C#类和接口、虚方法和抽象方法及值类型和引用类型的区别 二 .C#中 接口与抽象类 的区别 三.浅谈java封装思想 四.抽象类和接口的区别

    C#接口抽象类区别实例

    (8) 抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非虚的,当然您也可以声明为虚的 (9) 如果抽象类实现接口,则可以把接口中方法映射到抽象类中作为抽象方法而不必实现,而在抽象类的子类中...

    C#中的简单工厂和虚方法、抽象类、抽象方法

    主要讲述了c#中的简单工厂和虚方法、抽象类、抽象方法的语法和用法

    C#中的虚方法和抽象方法的运用

    今天在云和学院学了很多,我这次只能先总结一下C#中的虚方法和抽象的运用。 理论: 虚方法: 用virtual修饰的方法叫做虚方法 虚方法可以在子类中通过override关键字来重写 常见的虚方法:ToString() Equals 抽象...

    C# 控制台入门 修饰符 构造函数 虚方法 静态字段 接口 抽象类 循环 适合入门

    一个简短的控制台程序,使用了构造函数,虚方法 静态类,静态字段,接口,抽象类,继承,适合刚入门的人看

    C# 多态教材 e.g 抽象类继承的武器场景示例

    C# 多态 抽象类继承的武器场景示例 接口实现的开火场景示例 虚方法的武器场景示例

    C#基础考题(有答案)

    整理的一些c#基础复习题(含答案)包含以下目录内容的题目 1.枚举类型  2.结构体  3.访问修饰符  4.类和对象  5.字段和属性  6.方法和参数  7.值类型和引用类型  8....抽象类和虚方法  13. 接口 

    陈广c#视屏8-10.rar

    29.抽象类 30.接口(1) 31.接口(2) 32.接口(3) 33.接口-IComparable 34.接口-IComparer 35.类型 36.装箱与拆箱(1) 37.装箱与拆箱(2) 38.泛型(1) 39.图片管理器1 39.图片管理器2 39.图片管理器3 39.图片管理器4

    C#程序编写的贪吃蛇

    1.通过C#课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出类,并掌握继承与派生,基类、虚方法和抽象方法和多态性的...

    陈广C#视屏教材部分源码

    1. 配置 2. 数组(1) 3. 数组(2) 4. 命名空间 5. 方法(1) 6....29.抽象类 30.接口(1) 31.接口(2) 32.接口(3) 33.接口-IComparable 34.接口-IComparer 35.类型 36.装箱与拆箱(1) 37.装箱与拆箱(2) 38.泛型(1)

    c#语言开发的一款RPG游戏.rar

    1.通过C#课程设计,使学生能将学到的面向对象的程序设计思想用到具体的工作和学习中,加深对类与对象的理解,要求学生能够对现实生活中许多具体的事物抽象出类,并掌握继承与派生,基类、虚方法和抽象方法和多态性的...

    微软C#语言规范,C#语言教程中文版

    10.1.1.1 抽象类 264 10.1.1.2 密封类 264 10.1.1.3 静态类 264 10.1.2 分部修饰符 265 10.1.3 类型形参 265 10.1.4 类基本规范 266 10.1.4.1 基类 266 10.1.4.2 接口实现 267 10.1.5 类型形参约束 268 10.1.6 类体 ...

    c#学习笔记——学习心得

    密封方法只能用于对基类的虚方法进行实现,声明密封方法时同时使用sealed和override且必须通过重写基类中的虚方法来实现 名称空间:类似java中的包 集合: 代表: 访问修饰符:private、public、protected、...

    实验二 C#程序设计练习

    (3)使用虚方法或抽象方法实现喂养不同动物的多态,不能使用方法重载。 提示:需要建一个动物类,动物类有一个虚的或抽象的吃方法,动物类下面有几个子类,不同的子类重写父类的吃方法。饲养员类提供喂食方法。...

    C#语言规范(2.0,3.0,4.0合集)

    10.1.1.1 抽象类 264 10.1.1.2 密封类 264 10.1.1.3 静态类 264 10.1.2 分部修饰符 265 10.1.3 类型形参 265 10.1.4 类基本规范 266 10.1.4.1 基类 266 10.1.4.2 接口实现 267 10.1.5 类型形参约束 268 10.1.6 类体 ...

    深入.Net平台和C#编程

    深入.Net平台和C#编程 值类型和引用类型 集合操作 类、对象、构造函数、方法重载、静态方法、对象交互 面向对象特性:继承、多态 虚方法 方法重写 抽象类 设计模式 TreeView 控件 XML解析 读写文本文件 文件和文件夹...

    C#教程(语言规范)

    6.1.11 匿名函数转换和方法组转换 ... 102 6.2 显式转换 102 6.2.1 显式数值转换. 102 6.2.2 显式枚举转换. 104 6.2.3 可以为 null 的显式转换. 104 6.2.4 显式引用转换. 105 6.2.5 拆箱转换.. 105 6.2.6 ...

    C# 使用方法 入门教程

    4.2.4 抽象类和抽象函数..... 103 4.2.5 密封类和密封方法..... 103 4.2.6 派生类的构造函数..... 104 4.3 修饰符...... 109 4.3.1 可见性修饰符..... 109 4.3.2 其他修饰符..... 110 4.4 接口...... 111 4.4.1 定义...

Global site tag (gtag.js) - Google Analytics