构造函数 (组件类 怎么添加构造函数就出错了,附代码)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数 (组件类 怎么添加构造函数就出错了,附代码)相关的知识,希望对你有一定的参考价值。

namespace WindowsApplication2

public partial class Component1 : Component

public static string link_str1;
public Component1():base()



public Component1(string link_str):base(link_str)

InitializeComponent();



public Component1(IContainer container)

container.Add(this);

InitializeComponent();


1、不要听楼上的,构造函数可以重载的,析构函数才不能重载,不过因为.net引用了GC,析构函数好像没啥用了。
2、不知道你使用哪个版本的FW?我在2008的MSDN下,看到Component对象,只有一个构造函数,并没有参数。

所以
public Component1(string link_str):base(link_str)

这行是错误的,因为基类并没有带有一个string类型参数的构造函数。

改成

public Component1(string link_str)

InitializeComponent();



试试。

PS:当基类的构造函数没有参数时,可以不必显式的调用基类构造函数,在需要显式调用基类的指定签名的构造函数时,才需要显式调用,并传递相应参数。
参考技术A 一个类构造函数只能有一个
想要继承父类,在一个构造函数上写完,不要多写。
参考技术B 构造函数是可以重载的,但是

public Component1(string link_str):base(link_str)

这个是错误的,因为Component类中并没有string这样一个参数的重载,所以应该为

public Component1(string link_str):base()

public Component1(string link_str)
参考技术C public Component1(string link_str):base(link_str) 这个函数有问题
去掉后面的:base(link_str)

python类中可以建立任意多参数吗?

定义函数时可以用加星号的方式能让函数接收任意多参数,那定义类的时候呢可以不,加个星号,之后创建对象时候可以往里加任意多的参数

创建对象时调用的是构造方法__init__,参数会传递到构造方法中。将构造方法定义为__init__(self, *args, **kwargs)就可以接收任意参数。追问

能这么干是吧,我这么写之后总出错,然后书上只写了定义函数可以这么做,我就怀疑是不是类不能,能就行了,那肯定还是我哪里出错了。刚学,不太懂。

参考技术A 类有什么参数?构造函数吗

以上是关于构造函数 (组件类 怎么添加构造函数就出错了,附代码)的主要内容,如果未能解决你的问题,请参考以下文章

java怎么调用带参数构造函数

子类为啥要调用父类的构造函数

C++中派生类的构造函数怎么显式调用基类构造函数?

C#中子类构造函数中如何调用父类构造函数

子类都会首先调用父类的构造函数吗?

python类中可以建立任意多参数吗?