抽象类的构造函数
来源:互联网 发布:scute系列番号知乎 编辑:程序博客网 时间:2024/06/06 08:30
1、抽象类是可以有构造函数的。但很多人认为,构造函数用于实例化一个对象(或建立一个对象的实例),而抽象类不能被实例化,所以抽象类不应该有公共的构造函数(FxCop.设计规则)。但不应该有“公共”的构造函数,和不应该有构造函数,这是两个不同的概念,所以,FxCop.设计规则中也说,如果抽象类需要构造函数,那么应该声明为“protected”。
2、既然抽象类是可以,甚至有时候应该有构造函数,那抽象类的构造函数的作用是什么?我觉得至少有两个:
(1)初始化抽象类的成员;
(2)为继承自它的子类使用。
比如以下例子:
3、即使我们声明一个没有构造函数的抽象类,编译器还会为我们生成一个默认的保护级别的构造函数。子类实例化时(不管是否为带参构造)只会调用所有父类的无参构造函数,而带参构造必须通过显式去调用.调用顺序是先调用抽象类的无参构造函数,如果子类实例化时是使用带餐的构造函数,则再接着调用抽象类的带参构造函数,最后调用子类本身的构造函数。
- 抽象类的构造函数
- 抽象类的构造函数
- 抽象类构造函数
- C#抽象类的构造函数
- java抽象类构造函数的含义
- 抽象基类的构造函数和析构函数
- kotlin的 类,继承,重载,抽象类,构造函数
- 抽象类----类中只定义了protected型的构造函数
- 关于抽象类中构造函数的一些学习
- 一个经典的问题(构造函数调用+抽象类+间接继承抽象类)
- 抽象类的构造方法
- 抽象类的构造方法
- 抽象类的构造方法
- java 抽象类 和接口 构造函数
- 抽象类可以有构造函数么?
- 抽象基类构造函数初探
- 抽象类可以有构造函数吗
- 抽象类也有构造函数
- xp硬盘安装CentOS
- IIS下,中文cookie的乱码问题
- .Net 平台下的版本控制 --- Subversion(SVN)1.6.x
- Linux下的Source Insight+Ubuntu 10.04使用Wine安装Source Insight
- DM9000寄存器功能详细介绍,DM9000AEP
- 抽象类的构造函数
- sql server 2005怎么连接sql server 2000数据库
- 一个男人
- 时间格式的转换
- 文件存储格式转换的运用
- struts2 & jquery & json !!!
- YUV主要的采样格式
- [百度面试题]100层楼,球可能会在某一层楼摔坏,问用2个球,最坏情况下几次测试可以找出该楼层
- How do I pause my game?