C#:抽象类PK密封类
来源:互联网 发布:python编写计算器程序 编辑:程序博客网 时间:2024/04/29 16:01
最近在看关于C#的书,看到了抽象类和抽象方法,另外还看到了密封类和密封方法,那么二者有什么联系又有什么区别,我把最近的收获分享给大家!
1、抽象类和抽象方法:
·C#使用abstract关键字,将类或方法声明为抽象类和抽象方法
·抽象类不能被实例化,抽象方法必须在派生类中重写
·类中包含抽象方法,该类必须声明为抽象的,否则会报错
public abstract class Class1 { //变量定义不能添加abstract private int i = 0; //抽象方法 public abstract int count(); //一般方法 public string GetName(String name) { return name; } }
2、密封类和密封方法
密封类:是类的一种,用sealed修饰,不能用作基类,也不能是抽象类。密封类主要用于防止派生。
·C#中使用sealed修饰,将类和方法声明为密封类或方法
·密封类不能被继承,密封方法不能被重写
·密封类不能作为基类,可以继承别的类或接口
·密封类不可继承,因此密封类不能声明为抽象的,否则会报错(如下图)
public abstract sealed class Class2 { }
上图代码会报错:
密封类的声明:
//声明密封类 public sealed class Class2 { public int i=0; public void method() { Console.WriteLine("密封类"); } }
·并不是所有的类都可以声明为密封类,密封类只能对基类的虚方法进行实现,一般与override一起使用
namespace ClassLibrary1 { //基类 public class myclass1 { public virtual void method() { Console.WriteLine("基类的虚方法"); } } //密封类实现基类myclass1 public sealed class myclass2:myclass1 { public sealed override void method() { Console.WriteLine("密封类中重写的方法"); } } }
总结:
通过对密封类和抽象类的比较,发现了许多新的东西,之前只是在写代码,遇到错误就直接修改但并没有想太多,接下来不能再这么做了,必须在敲代码的同时也能多问几个问什么?
0 0
- C#:抽象类PK密封类
- C#:抽象类和抽象函数, 密封类和密封方法
- 抽象类和密封类
- 抽象类和密封类
- C# 抽象类、密封类
- 抽象类与密封方法
- 抽象类、密封类及类成员(C#)
- C#==>密封类,密封方法
- C#_密封类和密封方法
- C#—接口 PK 抽象类
- Kotlin Reference (九) 抽象类、密封类
- C#---部分类、密封类
- 密封类
- C#密封类、密封方法
- 密封类和密封方法
- .Net C#(类的继承/虚函数/抽象函数/密封类/静态类/抽象类)——学习笔记
- C# 抽象类、密封类及类成员
- C# 抽象类、密封类及类成员
- 百度地图-html5定位功能
- 21行python代码实现拼写检查器
- 静态库(二)混合开发
- Java RMI从基础例子到使用securityManager再到ssl的RMI在到spring的RMI
- UIScrollView 属性简介
- C#:抽象类PK密封类
- IOS-MJExtension一句话搞定对象归档(转)
- 统计每个月兔子的总数
- 跟风 Webpack
- startexplorer插件——eclipse
- Umbraco(5)-Creating Master Template Part 1
- 【Spring】java.lang.IndexOutOfBoundsException: Index: 256, Size: 256
- 加密的病历单
- Java关键字之final详解