.NET程序设计实验2

1.设计编写一个控制台应用程序,练习类的继承。

(1) 编写一个抽象类 People,具有”姓名”,”年龄”字段,”姓名”属性,Work 方法。

(2) 由抽象类 People 派生出学生类 Student 和职工类 Employer,继承 People 类,并

覆盖Work 方法。

(3) 派生类 Student 增加”学校”字段,派生类 Employer 增加”工作单位”字段。

(4) 在 Student 和 Employer 实例中输出各自不同的信息。

代码示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NET_test2_1
{
    public abstract class People{
        String name;
        String age;
        public virtual void work()
        {
            
        }
    }
    public class Student : People
    {
        String school;
        public override void work(){
            Console.WriteLine("子类学生学习中");           
    }
    }
    public class Employer : People
    {
        String workspace;
        public override void work()
        {
            Console.WriteLine("子类职工工作中");           
        }
    }
    class Program
    {
        static void Main(string[] args)
        {      
            Student a = new Student();
            Employer b=new Employer();
            a.work();
            b.work();           
            Console.ReadKey();
        }
    }
}

运行截图:

 

2.编写一个控制台应用程序,输入正方形边长或者半径,计算其周长和面积并输出。

(1) 编写两个接口,接口 IShape 包含三个方法:initialize, getPerimeter, getArea。分

别进行初始化、获取边长和面积,其返回值均为 decimal。接口 IDisplayresult 显示计算结果。

(2) 编写两个类,Square(正方形)和 Circle(圆形),实现 IShape 和 IDisplayresult

接口。

代码:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NET_test_2_2
{
    public interface IShape
    {
        void initialize(); //初始化
        decimal getPerimeter();//获取边长
        decimal getArea();//获取面积
    }
    public interface IDisplayresult
    {
        void showresaults();
    }
    public class square : IShape, IDisplayresult   //正方形
    {
        public decimal length;          //边长
        public void initialize()
        {

            Console.WriteLine("请输入正方形边长:");
            do
            {
                length = decimal.Parse(Console.ReadLine());
                if (length <= 0)
                {
                    Console.WriteLine("输入错误,边长应大于0,请重新输入:");
                }
            }while (length <= 0);
        }
        public decimal getPerimeter()    
        {
            decimal Perimeter = 4 * length;
            return Perimeter;
        }
        public decimal getArea()        
        {
            decimal Area = length * length;
            return Area;
        }
        public void showresaults()            
        {
            Console.WriteLine("正方形周长:{0}", getPerimeter());
            Console.WriteLine("正方形面积:{0}", getArea());
        }
    }                               
    public class Circle : IShape, IDisplayresult   //圆形
    {
        decimal radius; const decimal pai = 3.14M;
        public void initialize() //初始化
        {
            Console.WriteLine("请输入圆形半径:");
            do
            {
                radius = decimal.Parse(Console.ReadLine());
                if (radius <= 0)
                {
                    Console.WriteLine("输入错误,半径应大于0,请重新输入:");
                }
            }
            while (radius <= 0);
        }
        public decimal getPerimeter()    
        {
            decimal Perimeter = 2 * pai * radius;
            return Perimeter;        
        }
        public decimal getArea()        
        {
            decimal Area = pai * radius * radius;
            return Area;
        }
        public void showresaults()             
        {
            Console.WriteLine("圆形周长:{0}", getPerimeter());
            Console.WriteLine("圆形面积:{0}", getArea());
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            square square = new square(); Circle circle = new Circle();
            int i;
            Console.WriteLine("请选择图形:");
            do
            {
                Console.WriteLine("1.正方形");
                Console.WriteLine("2.圆形");
                Console.WriteLine("3.退出");
                i = int.Parse(Console.ReadLine());
                switch (i)
                {
                    case 1:
                        square.initialize();          
                        square.showresaults();               
                        break;
                    case 2:
                        circle.initialize();        
                        circle.showresaults();               
                        break;
                    case 3:                     
                        break;
                    default: Console.WriteLine("输入错误"); break;
                }
            } while (i != 3);
        }
    }
}

 

运行截图:

 

posted @ 2021-10-15 09:25  CherriesOvO  阅读(71)  评论(0编辑  收藏  举报