建议90:不要为抽象类提供公开的构造方法
2016-09-08 15:44
183 查看
建议90:不要为抽象类提供公开的构造方法
首先,抽象类可以有构造方法。即使没有为抽象类指定构造方法,编译器也会为我们生成一个默认的protected的构造方法。下面是一个标准的最简单的抽象类:
其次,抽象类的方法不应该是public或internal的。抽象类设计的本意是让子类继承,而不是用于生成实例对象的。如果抽象类是public或internal的,它对于其它类型来说就是可见的,而这时不必要的,也是多余的。换句话来说,抽象类只需要对子类可见就行了。
转自:《编写高质量代码改善C#程序的157个建议》陆敏技
首先,抽象类可以有构造方法。即使没有为抽象类指定构造方法,编译器也会为我们生成一个默认的protected的构造方法。下面是一个标准的最简单的抽象类:
abstract class MyAbstractClass { protected MyAbstractClass(){} }
其次,抽象类的方法不应该是public或internal的。抽象类设计的本意是让子类继承,而不是用于生成实例对象的。如果抽象类是public或internal的,它对于其它类型来说就是可见的,而这时不必要的,也是多余的。换句话来说,抽象类只需要对子类可见就行了。
转自:《编写高质量代码改善C#程序的157个建议》陆敏技
相关文章推荐
- 编写高质量代码改善C#程序的157个建议——建议90:不要为抽象类提供公开的构造方法
- 对象的初始化、继承时,对象的初始化过程、关于构造方法、抽象类……
- 公开建议2010年两会修改宪法结合实际不要纸...
- 【M4】非必要不提供default 构造方法
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- 千万不要在构造方法里写 Director::getInstance()->getScheduler();
- 抽象类中的构造方法
- 面向对象构造方法、抽象类、内部类
- [编写高质量代码:改善java程序的151个建议]建议33:不要覆写静态方法
- [编写高质量代码:改善java程序的151个建议]建议33:不要覆写静态方法
- 讨论一下java中的构造方法中为什么不要尝试调用其本类方法!!!
- 避震方法最新自救建议:不要躲在桌子下
- 155个建议笔记--建议33:不要覆写静态方法
- C#抽象类可以有构造方法吗,若是有如何实现及调用?
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 对外不要提供Delete方法加强软件的安全性
- 基本原则:强烈建议在站点中不要使用window.open方法
- 不要使用PopupWindow默认构造方法
- Java-调用抽象类中指定参数的构造方法
- 接口和抽象类的构造方法
- 如果一个类提供了一个或者多个构造方法,java不再提供默认构造方法