其他分享
首页 > 其他分享> > (封装 继承 多态)

(封装 继承 多态)

作者:互联网

5、(封装、继承)有以下几个类,根据下面的继承关系,用代码实现。
在这里插入图片描述
a)Circle 类(圆形),属性:半径;方法:求周长、求面积

b)Rect 类(矩形),属性:长、宽;方法:求周长、求面积

c)Square 类(正方形),属性:边长;方法:求周长、求面积提示:

1) 这三个类均具有求周长和面积的方法;

2) 正方形是特殊的矩形

6、*(多态)在上一题的基础上,创建一个长度为3 的数组,里面有三个不同类型的对象,分别打印这三个对象的周长和面积。

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApp1
{
class 第五题
{
}
class Shape
{
public void 面积()
{

    }
    public void 周长()
    {

    }
}
class Circle : Shape
{
    int r = 3;
    public void 面积(out string z)
    {
        //Console.WriteLine("圆面积为:" + (MathF.PI * (r * r)));
        z = "圆面积为:"+(MathF.PI * (r * r))/*.ToString()*/;
    }
    public void 周长(out string z)
    {
        //Console.WriteLine("圆周长为:" + (MathF.PI * r) * 2);
        z = "圆周长为:" + ((MathF.PI * r) * 2);
    }
}
class Rect : Shape
{
    int 长 = 4, 宽 = 5;
    public void 面积(out string z)
    {
        //Console.WriteLine("矩形面积为:" + (长 * 宽));
        z = "矩形面积为:" + (长 + 宽);
    }
    public void 周长(out string z)
    {
        //Console.WriteLine("矩形周长为:" + (长 + 宽) * 2);
        z = "矩形周长为:" + ((长 + 宽) * 2);
    }
}
class Square : Shape
{
    int 边长 = 5;
    public void 面积(out string z)
    {
        //Console.WriteLine("正方形面积为:" + (边长 * 边长));
        z = "正方形面积为:" + (边长 * 边长);
    }
    public void 周长(out string z)
    {
        //Console.WriteLine("正方形周长为:" + (边长 * 4));
        z = "正方形周长为:" + (边长 * 4);
    }
}

}

class 第六题
{
    public static string[] 多态;
    static void Main(string[] args)
    {
        Circle c = new Circle();
        string z1 = "";
        string s1 = "";
        c.面积(out z1);
        c.周长(out s1);
       
        Rect r = new Rect();
        string z2 = "";
        string s2 = "";
        r.周长(out z2);
        r.面积(out s2);

        Square s = new Square();
        string z3 = "";
        string s3 = "";
        s.面积(out z3);
        s.周长(out s3);

        string[] cc = { z1 + "\t" + s1,z2+"\t"+s2,z3+"\t"+s3 };
        for (int i = 0; i < cc.Length; i++)
        {
            Console.WriteLine(cc[i]);
        }
        
    }

}

标签:封装,周长,继承,void,多态,Console,public,string,out
来源: https://blog.csdn.net/qq_54081522/article/details/120114194