在C#中类的构造器,与类中的方法是如何区分的?
2个回答
展开全部
两位肯定是理解了,但是却说错了。
另外,楼陵正主说“构造器”,我不知道你这说法哪里看来的,构造方法/构造函数的英文是Constructor,如果你直译,那确实是。而构造器,更多是见于一些设计模式中。
如何区分取决于谁来区分。对面对代码的程序员来说,构造方法不是“没有类型修饰符”,也更不是“没有修饰符”。
1.构造方法可以使用访问修饰符:private,
public,
internal,protected
著名的设计模式工厂方法和单件模式就是运用了私有构造函数
2.不可以使用virtual,
abstract,
override,
new,
sealed,
3.没有返回类型
4.方法名与类名相同。
另外一个与类同名的方法是析构方法,区别是在名称前加一个~(波浪号),不能overload,不含修饰符。
5.虽然可以有静态构造函数,但是静态构造函数不能指定参数和访问修饰符。
6.struct同样可以编写自定义的构造函数,但是相反的,不能编写无参灶清(默认)的构造函数。
7.构造方法和普通方法相比,多出的内容:
this关键字。可以隐汪前形成构造函数横向的链式调用。this调用的是该类自身的构造函数
base关键字。构造函数纵项的链式调用。base调用的是直接父类的构造函数。
另外,楼陵正主说“构造器”,我不知道你这说法哪里看来的,构造方法/构造函数的英文是Constructor,如果你直译,那确实是。而构造器,更多是见于一些设计模式中。
如何区分取决于谁来区分。对面对代码的程序员来说,构造方法不是“没有类型修饰符”,也更不是“没有修饰符”。
1.构造方法可以使用访问修饰符:private,
public,
internal,protected
著名的设计模式工厂方法和单件模式就是运用了私有构造函数
2.不可以使用virtual,
abstract,
override,
new,
sealed,
3.没有返回类型
4.方法名与类名相同。
另外一个与类同名的方法是析构方法,区别是在名称前加一个~(波浪号),不能overload,不含修饰符。
5.虽然可以有静态构造函数,但是静态构造函数不能指定参数和访问修饰符。
6.struct同样可以编写自定义的构造函数,但是相反的,不能编写无参灶清(默认)的构造函数。
7.构造方法和普通方法相比,多出的内容:
this关键字。可以隐汪前形成构造函数横向的链式调用。this调用的是该类自身的构造函数
base关键字。构造函数纵项的链式调用。base调用的是直接父类的构造函数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询