C# 经典练习题2 [西瓜类]

该代码示例定义了一个`BigWatermelon`类来表示大西瓜,以及两个`LittleWatermelon`子类来表示小西瓜的重量。它还包含一个`MyDeClass`类,提供了基本的数学运算委托。在`Main`方法中,展示了如何使用这些类和委托进行重量的加法和减法运算。
摘要由CSDN通过智能技术生成

题目:

自定义一个“西瓜”类,要求如下:

具有多个有意义的字段;

可以实现对象之间的“+”(可以为重量相加);

编写程序验证上述要求

using System;

namespace ConsoleApp4._7_2
{
    delegate double mydelegate(double x, double y);

    class MyDeClass
    {
        public double add(double x,double y)
        { return x + y; }
        public double sub(double x,double y)
        { return x - y; }
        public double mul(double x,double y)
        { return x * y; }
        public double div(double x,double y)
        { return x / y; }
    }
    class BigWatermelon  //重量
    {
        private double M;//重量
        private double m2;//小西瓜重量
        public BigWatermelon(double M,double m2)
        {
            this.M = M;
            this.m2 = m2;
        }
    }
    class LittleWatermelon_M
    {
        public double m1;//重量1
        public double m2;//重量2
        
        public LittleWatermelon_M(double m1,double m2) 
        {
            this.m1 = m1;
            this.m2 = m2;
        }
    }
    class LittleWatermelon_V
    {
        public double v1;//重量1
        public double v2;//重量2

        public LittleWatermelon_V(double v1, double v2)
        {
            this.v1 = v1;//体积1
            this.v2 = v2;//体积2
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            LittleWatermelon_M wm = new LittleWatermelon_M(6,8);
            LittleWatermelon_V wv = new LittleWatermelon_V(7, 8);
            MyDeClass obj = new MyDeClass();
            mydelegate p = new mydelegate(obj.add);
            double M = p(wm.m1, wm.m2);
            Console.WriteLine("重量:小西瓜1重量{0} + 小西瓜2的重量{1} = 大西瓜重量 {2}KG", wm.m1,wm.m2,p(wm.m1, wm.m2));
            Console.WriteLine("体积:小西瓜1体积{0} + 小西瓜2的体积{1} = 大西瓜体积 {2}KG", wv.v1,wv.v2,p(wv.v1, wv.v2));
       
            BigWatermelon W = new BigWatermelon(M,wm.m2);
            mydelegate p1 = new mydelegate(obj.sub);
            Console.WriteLine("重量:大西瓜重量{0} - 小西瓜2的重量{1} = 小西瓜1重量 {2}KG",M,wm.m2, p1(M, wm.m2));
            /*
            p = new mydelegate(obj.mul);
            Console.WriteLine("5*8={0}", p(5, 8));
            p = new mydelegate(obj.div);
            Console.WriteLine("5/8={0}", p(5, 8));
            */

        }
    }
}

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小凡同学zero

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值