zoukankan      html  css  js  c++  java
  • .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);
            }
        }
    }

    运行截图:

  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/zyj3955/p/15409640.html
Copyright © 2011-2022 走看看