C#从shape类中派生出Rectangle,Circle等具体形状类,并计算图形对象的周长和面积

2025-01-30 14:00:46
推荐回答(4个)
回答1:

明显是在考抽象类。

一个Shape有封闭的边界,它总是可以被计算周长和面积,但是Shape本身没有明确的描述时不是一个实体,故Shape是抽象类。Rectangle和Circle都应该继承Shape并实现其抽象方法。

        public abstract class Shape
        {
            public abstract double CalculateArea();
            public abstract double CalculatePerimeter();
        }
        public class Circle : Shape
        {
            public double Radius { get; set; }
            public override double CalculateArea()
            {
                return Math.PI * Radius * Radius;
            }
            public override double CalculatePerimeter()
            {
                return 2 * Math.PI * Radius;
            }
        }
        public class Rectangle : Shape
        {
            public double Width { get; set; }
            public double Height { get; set; }
            public override double CalculateArea()
            {
                return Width * Height;
            }
            public override double CalculatePerimeter()
            {
                return 2 * (Width + Height);
            }
        }

回答2:

明显是在考抽象类。
一个Shape有封闭的边界,它总是可以被计算周长和面积,但是Shape本身没有明确的描述时不是一个实体,故Shape是抽象类。Rectangle和Circle都应该继承Shape并实现其抽象方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

public abstract class Shape
{
public abstract double CalculateArea();
public abstract double CalculatePerimeter();
}
public class Circle : Shape
{
public double Radius { get; set; }
public override double CalculateArea()
{
return Math.PI * Radius * Radius;
}
public override double CalculatePerimeter()
{
return 2 * Math.PI * Radius;
}
}
public class Rectangle : Shape
{
public double Width { get; set; }
public double Height { get; set; }
public override double CalculateArea()
{
return Width * Height;
}
public override double CalculatePerimeter()
{
return 2 * (Width + Height);
}
}

回答3:

%a,%A读入一个浮点值(仅C99有效)%c读入一个字符%d读入十进制整数%i读入十进制,八进制,十六进制整数%o读入八进制整数%x,%X读入十六进制整数%s读入一个字符串,遇空格、制表符或换行符结束。%f,%F,%e,%E,%g,%G用来输入实数,可以用小数形式或指数形式输入。%p读入一个指针%u读入一个无符号十进制整数%n至此已读入值的等价字符数%[]扫描字符集合%%读%符号

回答4:

条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。?:在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。例如:a=(b>0)?b:-b;当b>0时,a=b;当b不大于0时,a=-b;这就是条件表达式。其实上面的意思就是把b的绝对值赋值给a。i++相当于i=i+1;