相关疑难解决方法(0)

我们是否应该始终在类中包含默认构造函数?

我被同事问过这个问题,我们是否应该在类中包含默认构造函数?如果是这样,为什么?如果不是,为什么不呢?

例

public class Foo {

    Foo() { }

    Foo(int x, int y) {
        ...
    } 

}
Run Code Online (Sandbox Code Playgroud)

我也有兴趣从专家那里了解一下.

.net c# clr default-constructor

67
推荐指数
4
解决办法
5万
查看次数

C#中的继承问题没有调用基类构造函数

我想知道为什么我没有在下面的代码中收到错误.我在基类中没有定义构造函数,但在派生类中定义了一个构造函数.代码仍按预期运行.有人可以帮助我摆脱困惑.

class Shape
{
    public void Area()
    {
        Console.WriteLine("I am  a shape");
    }
}

class Circle : Shape
{
    double radius;
    const double pi = 3.14;

    public Circle(double rad)
    {
        radius = rad;
    }

    public new double Area()
    {
        return pi * radius * radius;
    }
}
Run Code Online (Sandbox Code Playgroud)

代码编译完美,并给我想要的结果.谢谢,

class Progam
{
    static void Main(string[] args)
    {
        Shape s1 = new Shape();
        s1.Area();

        Shape s2 = new Circle(10);
        s2.Area();

        Circle c1 = new Circle(4.0);
        Console.WriteLine(c1.Area());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# inheritance constructor

3
推荐指数
1
解决办法
88
查看次数

标签 统计

c# ×2

.net ×1

clr ×1

constructor ×1

default-constructor ×1

inheritance ×1