(封装 继承 多态)
作者:互联网
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